Dan*_*ger 14 bootstrapping windows-installer wix dotnetinstaller
我需要部署针对Windows 64位和32位的软件设置.我为每个平台都有两个独立的Windows Installer数据库(使用WiX创建),我使用dotNetInstaller将它们组合成一个安装的bootstrapper可执行文件.
我目前正在使用dotNetInstaller的1.10版并设置auto_close_if_installed=True,因为我想完全隐藏用户的引导程序.尽管如此,dotNetInstaller坚持在我的安装程序运行时显示窗台进度条窗口,并且不会自动关闭.用户需要确认一个对话框,告诉他应用程序已成功安装.但真正的交易破坏者是它还不支持Windows 8.
升级到更高版本的dotNetInstaller似乎打破了auto_close_if_installed,所以情况更糟.
所以我的问题是:在一个可执行文件中部署这两个设置的当前技术水平是什么.Wix Burn会成为一个选择吗?
我知道在理想的世界里,我只是为我的客户提供单独的安装程序.但他们碰巧完全没有意识到这些微妙之处,他们中的大多数甚至都不知道他们正在使用什么平台.
Rob*_*ing 25
在这种情况下我肯定会使用Burn.类似于以下内容:
<Wix>
<Bundle...>
<BootstrapperApplicationRef Id='WixStandardBootstrapperApplication.HyperlinkLicense' />
<Chain>
<MsiPackage InstallCondition='NOT VersionNT64' SourceFile='path\to\x86.msi' />
<MsiPackage InstallCondition='VersionNT64' SourceFile='path\to\x64.msi' />
</Chain>
</Bundle>
</Wix>
Run Code Online (Sandbox Code Playgroud)
这正是Burn旨在处理的场景之一.