mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-04-14 18:41:29 +03:00
Feat/msi (#7688)
* Feat. Msi, check is self-installed Signed-off-by: fufesou <shuanglongchen@yeah.net> * Feat. Msi. 1. Check if is self-installation. 2. Add firewall rule by custom action. Signed-off-by: fufesou <shuanglongchen@yeah.net> * Feat. Msi, github ci Signed-off-by: fufesou <shuanglongchen@yeah.net> * Feat. Msi, github ci Signed-off-by: fufesou <shuanglongchen@yeah.net> * Feat. Msi, github ci Signed-off-by: fufesou <shuanglongchen@yeah.net> * Feat. Msi, refact preprocess.py Signed-off-by: fufesou <shuanglongchen@yeah.net> * Feat. Msi Signed-off-by: fufesou <shuanglongchen@yeah.net> * Trivial, renames Signed-off-by: fufesou <shuanglongchen@yeah.net> --------- Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<DirectoryRef Id="INSTALLFOLDER" FileSource="$(var.BuildDir)">
|
||||
<Component Id="RustDesk.exe" Guid="620F0F69-4C17-4320-A619-495E329712A4">
|
||||
<File Id="$(var.Product).exe" Name="$(var.Product).exe" KeyPath="yes" Checksum="yes">
|
||||
<fire:FirewallException Id="RustDeskEx" Name="$(var.Product) Service" Scope="any" IgnoreFailure="yes" />
|
||||
<!--<fire:FirewallException Id="RustDeskEx" Name="$(var.Product) Service" Scope="any" IgnoreFailure="yes" />-->
|
||||
</File>
|
||||
<ServiceInstall Id="ServiceInstaller" Type="ownProcess" Vital="yes" Name="$(var.Product)" DisplayName="!(loc.Service_DisplayName)" Description="!(loc.Service_Description)" Start="auto" Account="LocalSystem" ErrorControl="ignore" Interactive="no" Arguments="--service" />
|
||||
<ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="$(var.Product)" Wait="yes" />
|
||||
@@ -18,6 +18,8 @@
|
||||
<CustomAction Id="RestartService" DllEntry="WixQuietExec" Execute="deferred" Return="asyncWait" BinaryRef="Wix4UtilCA_$(sys.BUILDARCHSHORT)" />
|
||||
|
||||
<CustomAction Id="RemoveInstallFolder.SetParam" Return="check" Property="RemoveInstallFolder" Value="[INSTALLFOLDER]" />
|
||||
<CustomAction Id="AddFirewallRules.SetParam" Return="check" Property="AddFirewallRules" Value="1[INSTALLFOLDER]$(var.Product).exe" />
|
||||
<CustomAction Id="RemoveFirewallRules.SetParam" Return="check" Property="RemoveFirewallRules" Value="0[INSTALLFOLDER]$(var.Product).exe" />
|
||||
<InstallExecuteSequence>
|
||||
|
||||
<!--The ServiceControl element above handles starting/stopping the server on install/uninstall,
|
||||
@@ -25,11 +27,17 @@
|
||||
that provided the server feature is already installed and not being uninstalled.-->
|
||||
|
||||
<Custom Action="RestartService" Before="InstallFinalize" />
|
||||
|
||||
<Custom Action="CustomActionHello" Before="InstallFinalize" />
|
||||
|
||||
<!--Workaround of "fire:FirewallException". If Outbound="Yes" or Outbound="true", the following error occurs.-->
|
||||
<!--ExecFirewallExceptions: Error 0x80070057: failed to add app to the authorized apps list-->
|
||||
<Custom Action="AddFirewallRules.SetParam" Before="InstallFinalize" Condition="NOT Installed"/>
|
||||
<Custom Action="AddFirewallRules" After="AddFirewallRules.SetParam"/>
|
||||
|
||||
<Custom Action="RemoveInstallFolder.SetParam" After="RemoveFiles"/>
|
||||
<Custom Action="RemoveInstallFolder" After="RemoveInstallFolder.SetParam"/>
|
||||
<Custom Action="RemoveFirewallRules.SetParam" Before="RemoveFiles"/>
|
||||
<Custom Action="RemoveFirewallRules" After="RemoveFirewallRules.SetParam"/>
|
||||
</InstallExecuteSequence>
|
||||
|
||||
<!-- Shortcuts -->
|
||||
|
||||
@@ -22,12 +22,8 @@
|
||||
<!--$ArpStart$-->
|
||||
<!--$ArpEnd$-->
|
||||
|
||||
<Property Id="RUSTDESKNATIVEINSTALL">
|
||||
<RegistrySearch Id="RustDeskNativeInstallSearch" Root="HKCR" Key="$(var.RegKeyRoot)\DefaultIcon" Type="raw" />
|
||||
<Property Id="RUSTDESK_WINDOWS_INSTALLER">
|
||||
<RegistrySearch Id="RustDeskWindowsInstallerFolderSearch" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\$(var.Product)" Name="WindowsInstaller" Type="raw" />
|
||||
</Property>
|
||||
<Property Id="RUSTDESKNATIVEINSTALLFOLDER">
|
||||
<RegistrySearch Id="RustDeskNativeInstallFolderSearch" Root="HKCR" Key="$(var.RegKeyRoot)" Name="INSTALLFOLDER" Type="raw" />
|
||||
</Property>
|
||||
|
||||
</Fragment>
|
||||
</Wix>
|
||||
|
||||
@@ -7,5 +7,8 @@
|
||||
<CustomAction Id="CustomActionHello" DllEntry="CustomActionHello" Impersonate="yes" Execute="immediate" Return="ignore" BinaryRef="Custom_Actions_Dll"/>
|
||||
<CustomAction Id="RemoveInstallFolder" DllEntry="RemoveInstallFolder" Impersonate="no" Execute="deferred" Return="ignore" BinaryRef="Custom_Actions_Dll"/>
|
||||
<CustomAction Id="TerminateProcesses" DllEntry="TerminateProcesses" Impersonate="yes" Execute="immediate" Return="ignore" BinaryRef="Custom_Actions_Dll"/>
|
||||
<CustomAction Id="AddFirewallRules" DllEntry="AddFirewallRules" Impersonate="no" Execute="deferred" Return="ignore" BinaryRef="Custom_Actions_Dll"/>
|
||||
<CustomAction Id="RemoveFirewallRules" DllEntry="AddFirewallRules" Impersonate="no" Execute="deferred" Return="ignore" BinaryRef="Custom_Actions_Dll"/>
|
||||
|
||||
</Fragment>
|
||||
</Wix>
|
||||
|
||||
@@ -47,6 +47,6 @@ This file contains the declaration of all the localizable strings.
|
||||
|
||||
<!-- User Interfaces -->
|
||||
<String Id="AnotherAppDialogTitle" Value="Cancel installation."/>
|
||||
<String Id="AnotherAppDialogDescription" Value="The application is installed by another method, please uninstall it first."/>
|
||||
<String Id="AnotherAppDialogDescription" Value="The application is installed by self-installation method, please uninstall it first."/>
|
||||
|
||||
</WixLocalization>
|
||||
|
||||
@@ -22,8 +22,7 @@
|
||||
<UIRef Id="WixUI_ErrorProgressText" />
|
||||
|
||||
<InstallUISequence>
|
||||
<!--<Custom Action="ReadCustomPathsFromExistingPathsFile" Before="CostFinalize" Condition="NOT Installed" />-->
|
||||
<!--<Show Dialog="AnotherAppDialog" Before="WelcomeDlg" Condition="Not installed AND RUSTDESKNATIVEINSTALL AND Not RUSTDESKNATIVEINSTALLFOLDER"/>-->
|
||||
<Show Dialog="AnotherAppDialog" Before="WelcomeDlg" Condition="Not installed AND RUSTDESK_WINDOWS_INSTALLER="#0""/>
|
||||
</InstallUISequence>
|
||||
|
||||
<InstallExecuteSequence>
|
||||
|
||||
Reference in New Issue
Block a user