0

我最近开始在 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>

任何帮助将不胜感激..:)

ñ

4

1 回答 1

3

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

Deferred 用于需要提升并且必须安排到 InstallExecute 序列中时使用。

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

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

于 2012-07-05T16:28:39.620 回答