我正在尝试编写一个脚本,根据系统的详细信息安装6个不同的.MSI
文件中的一个。我不知道如何区分32位和64位Windows安装,以便我可以在64位系统和32位{{1在32位系统上。如果重要的话,脚本是用Python编写的。
答案 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计算机上运行。
您确实需要该工具的专业版许可证,但您可以试用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