[Python-Dev] msvccompiler.py: some remarks

Jeroen Ruigrok van der Werven ashemedai at gmail.com
Thu Jun 29 15:52:56 CEST 2006


I am testing/working on some Python code on Windows.
During this I encounter some issues where I am being told I don't have
the .Net SDK installed. So I started investigating this issue and came
to http://www.vrplumber.com/programming/mstoolkit/index.html

I also checked the latest repository version of msvccompiler.py and I
noticed a few potential issues:

1) If MSSdk is set it does not automatically mean that cl.exe and the
rest are available. With the latest SDKs, Windows 2003 R2 at least,
the bin directory contains no compilers, linkers or the like. On the
other hand, it is perfectly valid to set MSSdk to your Platform SDK
installation directory. So this is unfortunately a problematic
solution as introduced in revision 42515.

2) As far as I have been able to determine .Net 2.0 uses
sdkInstallRootv2.0. Also it installs by default under C:\Program
Files\Microsoft Visual Studio 8\SDK\v2.0\

3) The Windows 2003 R2 Platform SDK uses
HKLM\SOFTWARE\Microsoft\MicrosoftSDK\InstalledSDKs\D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1,
which in turn has a entry for 'Install Dir' which lists the
installation directory for the Platform SDK.

4) One line has p = r"Software\Microsoft\NET Framework Setup\Product",
however, there's no subkey at all under my NET Framework Setup entry,
only NDP, which in itself has two subkeys, namely: v1.1.4322 and
v2.0.50727. The NET Framework Setup\Product seems to be limited to the
old 1.0 setup which used a subkey like:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework
Setup\Product\Microsoft .NET Framework Full v1.0.3705 (1033)
This is what my 1.1 and 2.0 give:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework
Setup\NDP\v1.1.4322 and HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET
Framework Setup\NDP\v2.0.50727
So effectively on newer installations (and 1.0 is more or less
deprecate in favour of 1.1) this piece of code is rendered unusable.

So basically a bunch of logic needs to be rewritten for newer version
support and I will investigate this. Are there any other people
working on this so that I can throw back/forth some ideas to make sure
things keep working for various versions?

-- 
Jeroen Ruigrok van der Werven


More information about the Python-Dev mailing list