我使用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。有没有办法做到这一点?
答案 0 :(得分:6)
两个答案,一个建议:
要在安装MsiPackages期间收回消息,请处理BootstrapperCore.ExecuteMsiMessage
事件。事件参数将包含一条消息,其中包含您要查找的数据。
要配置软件包的压缩方式,请使用Compress
属性。您可以标记整个Bundle/@Compress='no'
或标记每个包Compress='no'
(或'yes'
,如果您想这样做。)
-
建议:确保将DetectCondition添加到ExePackages,以便Burn知道ExePackages是否已经存在。