]> granicus.if.org Git - python/commitdiff
search in the alternative location for VCExpress
authorTarek Ziadé <ziade.tarek@gmail.com>
Sat, 6 Mar 2010 02:17:28 +0000 (02:17 +0000)
committerTarek Ziadé <ziade.tarek@gmail.com>
Sat, 6 Mar 2010 02:17:28 +0000 (02:17 +0000)
Lib/distutils/msvc9compiler.py

index 41d67faf59c212759b0b8caeb4e581ffbe97ea1a..932b6ea2d9b6222cbf11a33ac3f2c69c58601a54 100644 (file)
@@ -38,6 +38,7 @@ HKEYS = (_winreg.HKEY_USERS,
          _winreg.HKEY_CLASSES_ROOT)
 
 VS_BASE = r"Software\Microsoft\VisualStudio\%0.1f"
+VSEXPRESS_BASE = r"Software\Microsoft\VCExpress\%0.1f"
 WINSDK_BASE = r"Software\Microsoft\Microsoft SDKs\Windows"
 NET_BASE = r"Software\Microsoft\.NETFramework"
 
@@ -216,9 +217,18 @@ def find_vcvarsall(version):
         productdir = Reg.get_value(r"%s\Setup\VC" % vsbase,
                                    "productdir")
     except KeyError:
-        log.debug("Unable to find productdir in registry")
         productdir = None
 
+    # trying Express edition
+    if productdir is None:
+        vsbase = VSEXPRESS_BASE % version
+        try:
+            productdir = Reg.get_value(r"%s\Setup\VC" % vsbase,
+                                       "productdir")
+        except KeyError:
+            productdir = None
+            log.debug("Unable to find productdir in registry")
+
     if not productdir or not os.path.isdir(productdir):
         toolskey = "VS%0.f0COMNTOOLS" % version
         toolsdir = os.environ.get(toolskey, None)