我有一個32位C#應用程序與目標x86安裝程序。這個應用程序可以安裝在x64機器上運行沒有問題。但是,當我們安裝在x64系統上時,來自供應商(已集成到軟件中)的第三方硬件現在需要使用64位DLL。32位C#應用程序如何利用64位DLL
目前我已經把32位DLL和64位DLL放在我的項目中。但是目標x86安裝程序顯然不喜歡64位DLL。
我可以創建一個解決方案,我可以部署64位DLL和/或32位DLL,但仍然只有一個安裝程序項目嗎? (我看了第三方軟件稱爲高級安裝程序,但我不知道這是否會幫助我實現我需要的解決方案)
或者是否可以創建一個通用的安裝程序項目?
注意:兩個安裝程序(x86與x64)部署不可行,因爲我們有一個我不想重新定義的自動更新過程。維護一個MSI文件對我很重要。
建議非常感謝。
你可以在NSIS中做到這一點。 – leppie
這裏真正的問題是,您將無法使用x86應用程序中的x64 DLL。 –
您無法使用來自32位進程的64位DLL(反之亦然)。這部分是因爲地址空間之間無法翻譯。有關詳情,請參閱[Raymond Chen的博客上的此帖](http://blogs.msdn.com/b/oldnewthing/archive/2008/10/20/9006720.aspx)。如果你想混合使用64位和32位,你必須有兩個進程和一些進程間通信。 –