wix bootstrapper

时间:2013-02-19 05:49:27

标签: wix wix3.6 burn wix-extension

我使用WPF编写了一个托管的wix bootstrapper。实际安装步骤需要链接多个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,而不是整个bootstrapper exe。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:6)

两个答案,一个建议:

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

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

  3. -

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