Wix安装程序:应用程序以SYSTEM用户启动



我在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用户下运行。谁能告诉我是否有办法解决它?

发生这种情况是因为安装的installeexecute阶段以SYSTEM帐户运行,并且在该阶段启动应用程序。

您需要通过向自定义操作元素添加Impersonate="yes"来获取自定义操作来模拟执行安装的用户。

可以在这里的Impersonate部分找到更多详细信息:

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

相关内容

最新更新