def GetInstallerName():
"""Return the name of the Windows 10 Universal C Runtime installer for the
current platform, or None if installer is not needed or not applicable.
The registry has to be used instead of sys.getwindowsversion() because
Python 2.7 is only manifested as being compatible up to Windows 8, so the
version APIs helpfully return a maximum of 6.2 (Windows 8).
"""
key_name = r'Software\Microsoft\Windows NT\CurrentVersion'
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_name)
value, keytype = winreg.QueryValueEx(key, "CurrentVersion")
key.Close()
if keytype != winreg.REG_SZ:
raise Exception("Unexpected type in registry")
if value == '6.1':
# Windows 7 and Windows Server 2008 R2
return 'Windows6.1-KB2999226-x64.msu'
elif value == '6.2':
# Windows 8 and Windows Server 2012
return 'Windows8-RT-KB2999226-x64.msu'
elif value == '6.3':
# Windows 8.1, Windows Server 2012 R2, and Windows 10.
# The Windows 8.1 installer doesn't work on Windows 10, but it will never
# be used because the UCRT is always installed on Windows 10.
return 'Windows8.1-KB2999226-x64.msu'
else:
# Some future OS.
return None
评论列表
文章目录