| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -39,7 +39,7 @@ | |||
| 39 | 39 | kits_root = "SOFTWARE\\Microsoft\\Windows Kits\\Installed Roots" | |
| 40 | 40 | kits_suffix = os.path.join("bin", ARCH) | |
| 41 | 41 | ||
| 42 | - WIN_SDK_KEYS = ( | ||
| 42 | + WIN_SDK_KEYS = [ | ||
| 43 | 43 | RegKey(sdk_name="Windows Kit 10.0", key=kits_root, | |
| 44 | 44 | value_name="KitsRoot10", suffix=os.path.join("bin", "10.0.16299.0", ARCH)), | |
| 45 | 45 | ||
@@ -69,7 +69,7 @@ | |||
| 69 | 69 | ||
| 70 | 70 | RegKey(sdk_name="Windows SDK 6.0A", key=sdks_root.format("6.0A\\WinSDK"), | |
| 71 | 71 | value_name="InstallationFolder", suffix=""), | |
| 72 | - ) | ||
| 72 | + ] | ||
| 73 | 73 | ||
| 74 | 74 | VS_KEYS = ( | |
| 75 | 75 | RegKey(sdk_name="MSBuild 15", key=vs_root.format("15.0"), | |
@@ -145,6 +145,29 @@ def _update_xlat_devtools(): | |||
| 145 | 145 | elif DEVTOOLS == "Mono": | |
| 146 | 146 | DEVTOOLS = "dotnet" | |
| 147 | 147 | ||
| 148 | + def _collect_installed_windows_kits_v10(winreg): | ||
| 149 | + """Adds the installed Windows 10 kits to WIN_SDK_KEYS """ | ||
| 150 | + global WIN_SDK_KEYS | ||
| 151 | + installed_kits = [] | ||
| 152 | + | ||
| 153 | + with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, kits_root, 0, winreg.KEY_READ) as key: | ||
| 154 | + i = 0 | ||
| 155 | + while True: | ||
| 156 | + try: | ||
| 157 | + installed_kits.append(winreg.EnumKey(key, i)) | ||
| 158 | + i += 1 | ||
| 159 | + except WindowsError: | ||
| 160 | + break | ||
| 161 | + | ||
| 162 | + def make_reg_key(version): | ||
| 163 | + return RegKey(sdk_name="Windows Kit 10.0", key=kits_root, | ||
| 164 | + value_name="KitsRoot10", suffix=os.path.join("bin", version, ARCH)) | ||
| 165 | + | ||
| 166 | + WIN_SDK_KEYS += [make_reg_key(e) for e in installed_kits if e.startswith('10.')] | ||
| 167 | + | ||
| 168 | + # Make sure this function won't be called again | ||
| 169 | + _collect_installed_windows_kits_v10 = (lambda:None) | ||
| 170 | + | ||
| 148 | 171 | class BuildExtPythonnet(build_ext.build_ext): | |
| 149 | 172 | user_options = build_ext.build_ext.user_options + [ | |
| 150 | 173 | ('xplat', None, None) | |
@@ -367,6 +390,8 @@ def _find_msbuild_tool(self, tool="msbuild.exe", use_windows_sdk=False): | |||
| 367 | 390 | except ImportError: # PY3 | |
| 368 | 391 | import winreg | |
| 369 | 392 | ||
| 393 | + _collect_installed_windows_kits_v10(winreg) | ||
| 394 | + | ||
| 370 | 395 | keys_to_check = WIN_SDK_KEYS if use_windows_sdk else VS_KEYS | |
| 371 | 396 | hklm = winreg.HKEY_LOCAL_MACHINE | |
| 372 | 397 | for rkey in keys_to_check: | |
| Back | FazBrowse Home | New Git URL |
0 commit comments