Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix安装程序:应用程序在用户系统中启动_Wix_Windows Installer_Wix3.5_Wix3_Wix3.6 - Fatal编程技术网

Wix安装程序:应用程序在用户系统中启动

Wix安装程序:应用程序在用户系统中启动,wix,windows-installer,wix3.5,wix3,wix3.6,Wix,Windows Installer,Wix3.5,Wix3,Wix3.6,我有一个WIX的安装程序。我试图将其部署到网络中的一组目标计算机上,但遇到以下问题。部署成功,但安装程序在安装完成后使用以下代码启动应用程序时出现问题: <CustomAction Id="RunMainApp" Directory="SUBDIR" ExeCommand="[SUBDIR]clicksharelauncher.exe" Execute="deferred" Return="asyncNoWait"/> <InstallExecuteSeque

我有一个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 user中启动的。因此,我从应用程序中得到一个错误,说应用程序不能在系统用户中运行。有人能告诉我是否有办法修复它吗?

发生这种情况是因为安装的InstallExecute阶段以系统帐户的形式运行,而您正在该阶段启动应用程序

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

更多详细信息可在此处的模拟部分中找到:

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


这可能没有帮助。如果他“部署到网络上的一组计算机上”(想想SCCM),他可能会将安装程序作为系统调用,因此他使用的顺序、阶段或模拟上下文与系统无关。我想知道他为什么打电话给一个执行官。。。它的作用。正确的答案可能不会调用EXE.Hi。实际上,我对所有内容进行了编码,就好像用户是从自己的帐户安装应用程序一样。所以我没有这个问题。其想法是应用程序应该在安装后启动。我们更进一步,试图将其部署到一组计算机上,但遇到了这样的问题。因此,我将添加模拟,因为它应该作为默认实现存在。但是,我想问您,如何在安装过程中检测到此问题,并且在安装完成后不启动应用程序。谢谢。克里斯托弗说得好-我的回答是假设它是一个运行安装的真实用户帐户。我如何检查它是否是一个真实用户帐户?无法检测它?