2013-04-04 98 views
2

我正在研究一個.NET分析器(我的項目輸出是一個DLL)。我已經構建了2個DLL(用C++編寫):一個將由x86 .NET進程加載,另一個由x64加載。我想生成一個單一的MSI(目標x86格​​式),檢查操作系統是64位還是32位。然後註冊正確的DLL,即:MSI - 有條件註冊DLL

- Project output : - the_x64.DLL 
        - the_x86.DLL 
- A single MSI that targets x86 machines : contains the 2 DLLs 
        - if the OS is 64 bits then both of the DLLs are registered 
        - if the OS is 32 bits then only the x86 dll is registered 

這可能嗎?

回答

5

MSI平臺不支持混合32/64位安裝程序。有創建'混合'MSI的黑客,但它沒有官方支持。 Microsoft建議的方法是創建2個或更多MSI(通用,32位提供程序,64位提供程序),然後使用引導程序(如WiX Burn或InstallShield Suite安裝程序)爲最終用戶提供單一安裝體驗。