2010-03-30 40 views
1

上下文: 我有一個解決方案,其中包含其他C#項目,一個只支持x64或Win32(但不是任何CPU)編譯的VC++項目。爲了使應用程序(實際上是第三方應用程序的宏)能夠運行,它需要Visual C++運行時庫(x86)或(x64)(宏可以在x64和x86操作系統上運行。)通過安裝項目安裝適當的位數Visual C++運行時庫

問題: 我想創建一個Visual Studio安裝項目,它將在x86和x64操作系統上安裝宏,我遇到的問題是指定使用先決條件的Visual C++運行時庫。如果兩者都選中(x64和x86)比運行setup.exe時有運行時錯誤消息,如在x86操作系統上,則無法運行x64可執行文件,如Visual C++運行時庫(x64)工具包爲...(其中在後面設置呼叫)。 所以我需要一個bitness條件或者類似的東西來告訴設置什麼位的版本的Visual C++運行時庫試圖安裝...我不知道這是可能的,甚至在這樣的代碼應該放置在設置中。

感謝大家的支持, 瓦利

+0

您是否考慮過使用不同的安裝程序技術,例如WiX,您可以獲得更多的控制權? – 2010-03-30 06:30:57

回答

1

我相信,你不能部署到x86和x64平臺與單個MSI建有一個Visual Studio安裝項目。您有幾個選項:

1)製作兩個單獨的MSI,一個用於x86,另一個用於x64,並要求用戶爲其平臺運行適當的一個。這是一個相當常見的解決方案,如果您的安裝文件通過互聯網分發,則具有減小下載大小的優點(因爲僅需要提供一個架構的模塊)。

2)使用另一種工具,如WiX(如評論中所建議的)或InstallShield等。這確實提供了一個可在不同平臺上工作的安裝程序,但創建和維護有點困難。

我的偏好是1),因爲它是使用當前設置最容易的事情,它是衆所周知的安裝程序範例(Microsoft傾向於爲大多數產品提供單獨的x86,x64和Itanium安裝程序他們的下載網站,例如)。

相關問題