1

我已经使用 WPF 编写了一个托管的 wix 引导程序。实际安装步骤需要链接多个 msi/exe 和批处理文件。

<Chain>
 <MsiPackage SourceFile="xxx"/>
 <ExePackage Id="Test" SourceFile="..\TestBatch.bat" Vital="yes"/>
 <MsiPackage SourceFile="yyy"/>
</Chain>

在每个包的执行过程中,应显示一条消息(最好来自引导程序 UI),指示当前正在执行哪个 msi/exe 包/批处理文件。简而言之,引导程序中需要 ProgressText 我怎样才能做到这一点?

另一个问题:我不希望所有的 msi 都被打包到 bootstrapper exe 中。这是因为:每次更改 msi 时,我们都希望仅发送更新/修改的 msi,而不是整个引导程序 exe。有没有办法做到这一点?

4

1 回答 1

6

两个答案,一个建议:

  1. 要在安装 MsiPackages 期间取回消息,请处理该BootstrapperCore.ExecuteMsiMessage事件。那里的事件参数将包含一条消息,其中包含您要查找的数据。

  2. 要配置压缩包的方式,请使用该Compress属性。您可以标记整个Bundle/@Compress='no'包裹或标记每个包裹Compress='no'(或者'yes'如果您想这样做)。

--

建议:确保将 DetectCondition 添加到 ExePackage 中,以便 Burn 知道 ExePackage 是否已经存在。

于 2013-02-27T15:13:23.757 回答