[New-bugs-announce] [issue8854] msvc9compiler.py: find_vcvarsall() doesn't work with VS2008 on Windows x64

Marc-Andre Lemburg report at bugs.python.org
Sun May 30 01:30:31 CEST 2010


New submission from Marc-Andre Lemburg <mal at egenix.com>:

When installing Visual Studio 2008 SP1 on a Windows Vista x64 system, the installer registers the various registry keys under

Software\Wow6432Node\Microsoft\VisualStudio\9.0\

rather than

Software\Microsoft\VisualStudio\9.0\

This is due to some redirection MS is applying to registry names when running 32-bit apps (such as the VS2008 installer) on 64-bit Windows:

http://support.microsoft.com/kb/896459

Since the tools in msvc9compiler.py rely on the registry to find the various dirs, batch files and tools, these operations fail.

A simple solution is to just update the globals at the top of the file to:

VS_BASE = r"Software\Wow6432Node\Microsoft\VisualStudio\%0.1f"
WINSDK_BASE = r"Software\Wow6432Node\Microsoft\Microsoft SDKs\Windows"
NET_BASE = r"Software\Wow6432Node\Microsoft\.NETFramework"

but that would of course have to be done with some extra checks to not break these settings on other Windows systems.

I'm not sure whether this is specific to Windows Vista or also occurs on Windows 7.

----------
assignee: tarek
components: Distutils
keywords: 64bit
messages: 106745
nosy: lemburg, tarek
priority: normal
severity: normal
status: open
title: msvc9compiler.py: find_vcvarsall() doesn't work with VS2008 on Windows x64
versions: Python 2.6, Python 2.7

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8854>
_______________________________________


More information about the New-bugs-announce mailing list