如何在软件安装时确定32位与64位Windows

时间:2014-06-06 02:03:53

标签: windows-installer

我正在尝试编写一个脚本,根据系统的详细信息安装6个不同的.MSI文件中的一个。我不知道如何区分32位和64位Windows安装,以便我可以在64位系统和32位{{1在32位系统上。如果重要的话,脚本是用Python编写的。

4 个答案:

答案 0 :(得分:1)

使用此功能:

import platform
platform.architecture()
# ('64bit', 'ELF')

import os
is64 = os.environ.get("PROCESSOR_ARCHITEW6432") == 'AMD64' or \
       os.environ["PROCESSOR_ARCHITECTURE"] != 'x86'

答案 1 :(得分:1)

您还可以创建MSI or EXE wrapper that will install the package one by one。 我链接的教程解释了如何使用Advanced Installer轻松完成此操作,不需要编写脚本,因为您有GUI选项来配置每个安装程序,因此它很容易维护。

Advanced Installer允许您从要运行每个程序包的操作系统的树中进行选择,因此您可以指定仅在x64或x86计算机上运行,​​或仅在一组特定的x64或x86计算机上运行。 Install Conditions in Advanced Installer

您确实需要该工具的专业版许可证,但您可以试用30天,看看它是否为您节省了足够的时间,使其值得迁移,就像它应该做的那样。

答案 2 :(得分:0)

最好的方法是。

is_64bits = sys.maxsize > 2**32

答案 3 :(得分:0)

以下注册表项将显示系统是32位还是64位,

密钥路径: HKEY_LOCAL_MACHINE \ HARDWARE \ DESCRIPTION \ System \ CentralProcessor \ 0

值名称:平台ID

值类型: REG_DWORD

对于32位,

值数据(十六进制): 1

对于64位,

值数据(十六进制): 2