"Martin v. Loewis" <martin at v.loewis.de> writes: > Thomas Heller wrote: > >>>! for k, v in [(r"Software\Microsoft\VisualStudio\7.1\Setup\VS", "VS7CommonBinDir"), >>>! (r"Software\Microsoft\Win32SDK\Directories", "Install Dir")]: >>>! try: >>>! key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, k) >>>! except WindowsError: >>>! continue >>>! cabarc = os.path.join(_winreg.QueryValueEx(key, v)[0], r"Bin", "cabarc.exe") >>>! _winreg.CloseKey(key) >>>! assert os.path.exists(cabarc), cabarc >> The above assert fails for me, there's no cabarc.exe in the >> VS7CommonBinDir: Do I have to install additional software, apart from >> VS.NET 2003? > > I don't think so. Where is cabarc.exe located, in your VS7.1 > installation tree? It should be in common/bin, which in turn > should be listed in the first of the two registry keys. Searching for cabarc.exe finds this: c:\BC5\BIN\cabarc.exe c:\cabsdk\BIN\CABARC.EXE c:\Dokumente und Einstellungen\thomas\Desktop\downloads\Cabsdk\BIN\CABARC.EXE c:\Programme\MicrosoftSDK\Bin\CabArc.Exe c:\WINDOWS\Prefetch\CABARC.EXE-04C2A86A.pf The first one in c:\bc5\bin is an old version, included in an old borland compiler I have installed. The one in c:\cabskd is from MS' cabinet sdk, also the one in downloads. c:\Programme\MicrosoftSDK is the Feb 2003 Platform SDK, which I had installed before installing VS 7.1. So, it seems there is no cabsdk.exe in my VS 7.1 installation tree. > > Can you find out what is different in your installation? > Also, what is the resulting cabarc variable in above assertion? c:\sf\python\nondist\sandbox\msi>py24 msi.py WARNING: Missing extension _bsddb.pyd Traceback (most recent call last): File "msi.py", line 753, in ? add_files(db) File "msi.py", line 627, in add_files cab.commit(db) File "c:\sf\python\nondist\sandbox\msi\msilib.py", line 367, in commit assert os.path.exists(cabarc), cabarc AssertionError: C:\Programme\Microsoft Visual Studio .NET 2003\Common7\Tools\Bin\cabarc.exe > c:\sf\python\nondist\sandbox\msi\msilib.py(367)commit() -> assert os.path.exists(cabarc), cabarc (Pdb) Ah, now I see. Changing the code to this: for k, v in [(r"Software\Microsoft\VisualStudio\7.1\Setup\VS", "VS7CommonBinDir"), (r"Software\Microsoft\Win32SDK\Directories", "Install Dir")]: try: key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, k) except WindowsError: 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" cabarc = "cabarc.exe" makes it work, since it now finds the cabarc.exe in c:\Programme\MicrosoftSDK. Where is cabarc.exe on *your* system? Thomas
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4