我們正在嘗試在64位和32位平臺上部署應用程序。有沒有辦法將兩個編譯版本的代碼放在同一個二進制文件中?Apple和NeXT的fat binaries?將64位和32位版本的應用程序轉換爲相同的二進制文件?
理想情況下,我們可以提供一個.exe,它決定執行哪個版本的代碼。我們的目標是Windows XP及更高版本。
我們正在嘗試在64位和32位平臺上部署應用程序。有沒有辦法將兩個編譯版本的代碼放在同一個二進制文件中?Apple和NeXT的fat binaries?將64位和32位版本的應用程序轉換爲相同的二進制文件?
理想情況下,我們可以提供一個.exe,它決定執行哪個版本的代碼。我們的目標是Windows XP及更高版本。
一種方法可能是提供一個引導應用程序,用於確定體系結構並選擇適當的可執行文件來運行。所以基本上,快捷方式或你的應用程序簡單地啓動引導程序,然後啓動相應的應用程序。如果您的應用程序是Windows服務,這可能會更棘手。
Process Explorer(是sysinternals,現在由Microsoft擁有)執行此操作。它是一個32位應用程序,用於檢測64位環境,寫出另一個二進制文件並在退出時刪除它。 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
最簡單的方法是由安裝程序處理這個問題 - 每個二進制文件都有兩個版本,並根據哪個系統位置在目標機器上覆制必要的版本。