Index: msvc9compiler.py =================================================================== --- msvc9compiler.py (revision 75188) +++ msvc9compiler.py (working copy) @@ -641,7 +641,29 @@ # will still consider the DLL up-to-date, but it will not have a # manifest. Maybe we should link to a temp file? OTOH, that # implies a build environment error that shouldn't go undetected. - mfid = 1 if target_desc == CCompiler.EXECUTABLE else 2 + if target_desc == CCompiler.EXECUTABLE: + mfid = 1 + else: + mfid = 2 + try: + # remove references to VC90 runtime, so they will fall + # through to the VC90 dependency of Python.exe. This + # way, when installed for a restricted user (e.g. + # runtimes are not in WinSxS folder, but in Pythons own + # folder), the runtimes do not need to be in every folder + # with .pyd's + manifest_f = open(temp_manifest, "rb") + manifest_buf = manifest_f.read() + manifest_f.close() + manifest_buf = manifest_buf.replace("""""", "") + manifest_buf = manifest_buf.replace("""""", "") + manifest_buf = manifest_buf.replace("""""", "") + manifest_buf = manifest_buf.replace("""""", "") + manifest_f = open(temp_manifest, "wb") + manifest_f.write(manifest_buf) + manifest_f.close() + except IOError: + pass out_arg = '-outputresource:%s;%s' % (output_filename, mfid) try: self.spawn(['mt.exe', '-nologo', '-manifest',