我想将多个 MSI 打包到一个安装包中,因此我使用的是来自 Wix3.6 的 Burn。
我想要一个简单的用户界面,允许选择应该安装哪些包。
我了解标准 BA (wixstdba.dll) 不提供此功能,我需要编写自己的 BA。
我一直在将 'wix36-sources' 包中的项目 'wixstdba' 作为 C++ BA 的示例。首先,我尝试简单地重建项目并将生成的 DLL 添加到我的 Bundle 中,如下所示:
<Bundle
Name="$(var.ProductName)"
Version="$(var.ProductVersion)"
Manufacturer="$(var.VendorName)"
UpgradeCode="$(var.UpgradeCode)" >
<BootstrapperApplication SourceFile="wixstdba.dll" />
<Chain>
...
我成功构建了 Bundle:
light -ext WixBalExtension.dll -ext WixUIExtension -ext WixUtilExtension installer-v$(VERSION).wixobj -o installer-v$(VERSION).exe
candle -o installer-v$(VERSION).wixobj bundle.wxs -d"Platform=x64"
但是,当我运行生成的 .exe 时,什么也没有发生。没有 UI 出现,没有安装软件,也没有错误消息。
知道我可能做错了什么吗?