簡體   English   中英

根據CPU架構選擇MSI的安裝程序(x86 32位,x64 64位等)

[英]Installer which chooses the MSI based on the CPU architecture (x86 32-bit, x64 64-bit, etc)

我有一個安裝程序(Visual Studio安裝項目),它使用DIFxApp和Orca轉換來安裝驅動程序 問題是有兩個DIFxApp合並模塊 - 一個用於x86,另一個用於x64。 如果我同時引用它們,則安裝僅適用於64位計算機,而僅引用x86版本允許我在32位計算機上安裝。

似乎唯一的解決方案是創建兩個MSI(一個用於x86,一個用於x64),每個都引用正確的合並模塊。 我的問題是我應該如何創建一個安裝程序,根據目標機器的處理器選擇安裝哪個MSI?

我和NSIS一起工作過一段時間,所以走這條路可能最容易。 其他可能性是Inno-SetupdotNetInstaller

類似的問題(但答案不充分):

如果您決定選擇NSIS:

!include "x64.nsh"
${If} ${RunningX64}
   MessageBox MB_OK "running on x64"
${Else}
   MessageBox MB_OK "running on x86"
${EndIf}

您可以使用自定義操作來檢測操作系統,然后調用正確的安裝程序。

我在這里舉了一個例子: single-msi-to-install-correct-32-or-64-bit-c-application

如何制作一個檢測os類型的小程序(啟動器)(64 0r 32位,應該很容易)。 然后,小程序根據檢測結果啟動正確的安裝程序。 程序不應該有任何窗口,並且與安裝程序具有相同的圖標。 只需向客戶提供所有三個文件,installer.exe(程序),inst32.msi和inst64.msi。 如果這對您的客戶來說太多了,那么只需將它們壓縮為自動解壓zip,即自動啟動installer.exe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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