WIX MSI应用程序在部署时未在用户帐户下启动应用程序



我有这个应用程序,它是一个使用WIX工具集的MSI应用程序。我遇到了一个问题,当使用某些第三方软件部署时,例如,在windows server 2012 R2上的COMODO one 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>

因此,问题是,当MSI从SYSTEM用户帐户运行时,是否可以作为登录用户启动"CustomAction"?

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

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

虽然我不熟悉ADDT工具,但我可以说,其他软件分发工具,如Microsoft SCCM Server,通常会以SYSTEM的形式启动安装程序,所以这些都没有那么重要。模拟或不模拟您将作为SYSTEM运行。

在这些场景中,在安装结束时启动应用程序是没有意义的。您不在用户桌面上下文中,也不可能有任何UI。

相关内容

最新更新