启动第二个安装程序WIX

时间:2012-07-05 14:37:51

标签: wix exe custom-action

我最近开始在wix中创建安装程序,所以我很新。遇到问题,当用户单击按钮时,我希望第二个安装程序开始使用.exe文件。但是我无法让我的代码执行此操作,我有点困惑的是哪个代码位于哪里,但我有这三个部分:

<Binary Id="HaspInstaller" SourceFile="visual studio 2010\Projects/ExampleInstaller/ExampleInstaller/bin/Debug/HASPUserSetup.exe" />

<CustomAction Id="HaspSetup" BinaryKey="HaspInstaller" ExeCommand="-switch" 
Execute="deferred" Return="check" HideTarget="no" Impersonate="no" />

<Control Id="Hasp" Type="PushButton" X="40" Y="60" Width="56" Height="34" Bitmap="yes"    Text="HaspImage" >
      <Publish Event="DoAction" Value="HaspSetup" /> 
    </Control>

非常感谢任何帮助.. :)

<磷>氮

1 个答案:

答案 0 :(得分:3)

由于Execute属性设置为deferred,因此单击按钮时不会运行。将其标记为立即,并在您单击按钮后立即运行。

延迟是在需要提升时使用,必须安排到InstallExecute序列中。

查看http://wix.sourceforge.net/manual-wix3/qtexec.htm这是一个安静的执行自定义操作,该页面很好地解释了如何为延迟执行和立即执行设置它。

此外,如果该exe文件是另一个msi的引导程序,则由于您已经处于一个MSI事务中,因此根本无法运行它。在这种情况下,使用刻录将不同的安装程序捆绑到单个安装程序用户体验中。