"Martin v. Loewis"
I have committed python/nondist/sandbox/msi to the CVS. This is a MSI generator for Python on Windows, which I'd like to propose as a replacement for Wise. A sample .msi file is available at
http://www.dcl.hpi.uni-potsdam.de/home/loewis/python2.4.0.msi
This installer includes binaries compiled with MSVC 7.1 (aka VC.NET 2003).
The MSI file tries to copy most features and user interface from the Wise installer, but adjusts to the feature set of MSI. I'm aware of a few issues, but I'd like to request feedback in any case.
I still have MSVC 7.0 (not 7.1) installed, and trying to build an extension with distutils raises this error: running build_ext Traceback (most recent call last): File "setup.py", line 332, in ? options = options, File "c:\python24\lib\distutils\core.py", line 149, in setup dist.run_commands() File "c:\python24\lib\distutils\dist.py", line 907, in run_commands self.run_command(cmd) File "c:\python24\lib\distutils\dist.py", line 927, in run_command cmd_obj.run() File "c:\python24\lib\distutils\command\build.py", line 107, in run self.run_command(cmd_name) File "c:\python24\lib\distutils\cmd.py", line 333, in run_command self.distribution.run_command(command) File "c:\python24\lib\distutils\dist.py", line 927, in run_command cmd_obj.run() File "c:\python24\lib\distutils\command\build_ext.py", line 243, in run force=self.force) File "c:\python24\lib\distutils\ccompiler.py", line 1177, in new_compiler return klass (None, dry_run, force) File "c:\python24\lib\distutils\msvccompiler.py", line 206, in __init__ self.__macros = MacroExpander(self.__version) File "c:\python24\lib\distutils\msvccompiler.py", line 112, in __init__ self.load_macros(version) File "c:\python24\lib\distutils\msvccompiler.py", line 128, in load_macros self.set_macro("FrameworkSDKDir", net, "sdkinstallrootv1.1") File "c:\python24\lib\distutils\msvccompiler.py", line 118, in set_macro self.macros["$(%s)" % macro] = d[key] KeyError: 'sdkinstallrootv1.1'
c:\python24\lib\distutils\msvccompiler.py(118)set_macro() -> self.macros["$(%s)" % macro] = d[key]
Here is a dump of some variable: (Pdb) print d {'dbgmanageddebugger': 'C:\\Programme\\Gemeinsame Dateien\\Microsoft Shared\\VS7Debug\\vs7jit.exe PID %d APPDOM %d EXTEXT "%s" EVTHDL %d', 'dbgjitdebuglaunchsetting': 2, 'installroot': 'C:\\WINDOWS\\Microsoft.NET\\Framework\\', 'sdkinstallroot': 'C:\\Programme\\Microsoft Visual Studio .NET\\FrameworkSDK\\'} (Pdb) print key sdkinstallrootv1.1 (Pdb) print macro FrameworkSDKDir (Pdb) Thomas