部署后,WIX MSI App无法以用户帐户启动应用程序

时间:2018-07-30 14:12:50

标签: windows deployment wix windows-installer

我有这个应用程序,它是使用WIX工具集的MSI应用程序。我遇到一个问题,当使用某些第三方软件(例如Windows Server 2012 R2上的COMODO一个ADDT工具)进行部署时,该应用程序在安装后将无法启动。 WIX配置被配置为在通过CustomAction安装后启动可执行文件。

我知道“ Impersonate = yes”,但是,显然,在部署MSI时,使用SYSTEM用户帐户来阻止“ Impersonate = yes”正常工作。

这是启动应用程序的方式:

<Property Id="WixShellExecTarget" Value="[#appEXE]" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />

<InstallExecuteSequence>
  <Custom Action="LaunchApplication" After='InstallFinalize'>NOT Installed</Custom>
</InstallExecuteSequence>

问题是,当从SYSTEM用户帐户运行MSI时,是否可以以登录用户身份启动“ CustomAction”?

1 个答案:

答案 0 :(得分:0)

模仿属性只会对延迟的自定义操作产生影响。模拟“是”表示以启动安装程序的用户身份运行,而“否”表示以SYSTEM身份运行。

计划立即执行(在InstallInitialize..InstallFinalize块之外)的自定义操作始终以启动安装程序的用户身份运行。

虽然我对ADDT工具不熟悉,但是我可以说其他软件分发工具(例如Microsoft SCCM Server)通常会以SYSTEM身份启动安装程序,因此这些都不是那么重要。模拟或不模拟您将以SYSTEM身份运行。

在这些情况下,在安装结束时启动应用程序是没有意义的。您不在用户桌面环境中,并且仍然无法使用UI。

相关问题