我正在尝试检测用于安装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体系结构。

08-16 10:49