Wix安装程序:该应用程序在SYSTEM用户中启动

时间:2014-07-03 15:39:36

标签: wix windows-installer wix3.5 wix3 wix3.6

我在WIX中有一个安装程序。我曾尝试将其部署到网络中的一组目标计算机,并遇到以下问题。部署成功但安装程序在安装完成后使用以下代码启动应用程序时出现问题:

    <CustomAction Id="RunMainApp" Directory="SUBDIR" ExeCommand="[SUBDIR]clicksharelauncher.exe" Execute="deferred" Return="asyncNoWait"/>

    <InstallExecuteSequence>
    <Custom Action="RunMainApp" Before="InstallFinalize"><![CDATA[UILevel=5 OR LAUNCH_APP~="YES" AND NOT Installed]]></Custom> 
    </InstallExecuteSequence>

当应用程序启动时,我意识到它是在SYSTEM用户中启动的。因此,我从应用程序收到一个错误,说应用程序无法在SYSTEM用户中运行。谁能告诉我是否有办法解决它?

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为安装的InstallExecute阶段作为SYSTEM帐户运行,并且您在该阶段启动了应用程序。

您需要通过添加Impersonate =&#34; yes&#34;来模拟自定义操作以模拟执行安装的用户。到自定义操作元素。

有关详细信息,请参阅此处的“模拟”部分:

http://wixtoolset.org/documentation/manual/v3/xsd/wix/customaction.html

以下链接提供了有关如何在UI中添加应用程序启动的详细信息:

http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html