我正在尝试检测用于安装x86 msi或x64 msi文件的正确cpu体系结构。
如果我是对的,那么对于msi,我需要os cpu体系结构
我不确定自己的方法是否正确,因为我无法对其进行测试。
你怎么看?
private static string GetOSArchitecture()
{
string arch = System.Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE");
string archWOW = System.Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432");
if(archWOW != null && archWOW != "" && archWOW.Contains("64"))
return "x64";
if(arch.Contains("86"))
return "x86";
if (arch.Contains("64"))
return "x64";
return "";
}
最佳答案
您可以P / Invoke到GetNativeSystemInfo,即使在64位OS上的32位进程中,也可以提供OS的CPU体系结构。