[英]How to deploy 64-bit and a 32-bit Windows Installer package as a single setup?
我需要部署針對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會成為一個選擇嗎?
我知道在理想的世界里,我只是為我的客戶提供單獨的安裝程序。 但他們碰巧完全沒有意識到這些微妙之處,他們中的大多數甚至都不知道他們正在使用什么平台。
在這種情況下我肯定會使用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>
這正是Burn旨在處理的場景之一。
您可以通過條件和功能在單個Wix中完成。
<Feature Id='X86' Level='1'>
<ComponentRef Id='X86Feature1' />
<Condition Level="1">NOT VersionNT64</Condition>
</Feature>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.