VB.NET Winforms程序,.NET 4.0,與VS2013一起編譯。 100%託管代碼;沒有依賴於某個處理器架構的DLL。在64位系統上檢測32位程序的安裝
我有兩個Visual Studio安裝程序項目,一個用於x86,另一個用於x64。
該程序「手機之家」找到一個新的程序;現在我檢測到處理器體系結構以確定是否存在新程序以下載32位或64位安裝程序。
檢測代碼:
dim sArchitecture as String = ""
If Environment.Is64BitProcess Then
sArchitecture = "x64"
Else
sArchitecture = "x86"
End If
問題場景:
客戶有64位的機器,但下載32位安裝程序,這當然正常工作。事實上,我們建議不知道處理器架構的客戶下載32位安裝程序。
32位安裝程序將手機置於家中併發送它在程序中檢測到的x64處理器體系結構。下載帶來了64位安裝程序,該安裝程序將秒的副本安裝到客戶的計算機中,隨後出現混淆。
我需要弄清楚,如果我使用Visual Studio安裝程序項目,將TargetPlatform設置爲x86,是否有一些可靠的方法來檢測此問題?檢查安裝文件夾以查看它是否包含「Program Files(x86)」不足;客戶可能已將程序安裝到其他位置。
我真的很感謝幫助!
謝謝 約翰。
謝謝。一個發人深省的答案。我會選擇一個解決方案並回報。 –
我走了麪包屑路線。它運作良好。謝謝! –