簡體   English   中英

如何將64位和32位Windows Installer程序包部署為單個安裝程序?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM