我最近开始在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>
非常感谢任何帮助.. :)
<磷>氮答案 0 :(得分:3)
由于Execute属性设置为deferred,因此单击按钮时不会运行。将其标记为立即,并在您单击按钮后立即运行。
延迟是在需要提升时使用,必须安排到InstallExecute序列中。
查看http://wix.sourceforge.net/manual-wix3/qtexec.htm这是一个安静的执行自定义操作,该页面很好地解释了如何为延迟执行和立即执行设置它。
此外,如果该exe文件是另一个msi的引导程序,则由于您已经处于一个MSI事务中,因此根本无法运行它。在这种情况下,使用刻录将不同的安装程序捆绑到单个安装程序用户体验中。