[Python-3000-checkins] r59323 - in python/branches/py3k: Tools/msi/msilib.py

christian.heimes python-3000-checkins at python.org
Tue Dec 4 16:54:13 CET 2007


Author: christian.heimes
Date: Tue Dec  4 16:54:13 2007
New Revision: 59323

Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Tools/msi/msilib.py
Log:
Merged revisions 59321-59322 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r59322 | christian.heimes | 2007-12-04 16:52:14 +0100 (Tue, 04 Dec 2007) | 1 line
  
  Added VS 2005 and VS 2008 to the search path for cabarc.exe
........


Modified: python/branches/py3k/Tools/msi/msilib.py
==============================================================================
--- python/branches/py3k/Tools/msi/msilib.py	(original)
+++ python/branches/py3k/Tools/msi/msilib.py	Tue Dec  4 16:54:13 2007
@@ -376,14 +376,19 @@
         except OSError:
             pass
         for k, v in [(r"Software\Microsoft\VisualStudio\7.1\Setup\VS", "VS7CommonBinDir"),
-                     (r"Software\Microsoft\Win32SDK\Directories", "Install Dir")]:
+                     (r"Software\Microsoft\VisualStudio\8.0\Setup\VS", "VS7CommonBinDir"),
+                     (r"Software\Microsoft\VisualStudio\9.0\Setup\VS", "VS7CommonBinDir"),
+                     (r"Software\Microsoft\Win32SDK\Directories", "Install Dir"),
+                    ]:
             try:
                 key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, k)
-            except WindowsError:
+                dir = _winreg.QueryValueEx(key, v)[0]
+                _winreg.CloseKey(key)
+            except (WindowsError, IndexError):
+                continue
+            cabarc = os.path.join(dir, r"Bin", "cabarc.exe")
+            if not os.path.exists(cabarc):
                 continue
-            cabarc = os.path.join(_winreg.QueryValueEx(key, v)[0], r"Bin", "cabarc.exe")
-            _winreg.CloseKey(key)
-            if not os.path.exists(cabarc):continue
             break
         else:
             print("WARNING: cabarc.exe not found in registry")


More information about the Python-3000-checkins mailing list