New submission from Christoph Gohlke <cgoh...@uci.edu>:

Wininst-9.0.exe and wininst-9.0-amd64.exe are missing MSVCRT90 dependencies in 
the embedded manifest.

While testing installers of pywin32 <http://sourceforge.net/projects/pywin32/> 
version 214 built with Python 2.6.4 and the 
msvc9compiler_stripruntimes_regexp2.diff patch from Issue4120 
<http://bugs.python.org/issue4120>, I noticed that the post_install script 
fails with an ImportError while trying to load extensions without embedded 
MSVCRT90 manifest:

Traceback (most recent call last):
  File "<string>", line 601, in <module>
  File "<string>", line 311, in install
  File "<string>", line 149, in LoadSystemModule
ImportError: DLL load failed: The specified module could not be found.

The code that fails is:

    mod = imp.load_module(modname, None, filename, ('.dll', 'rb', 
imp.C_EXTENSION))

where modname='pywintypes' and filename points to an existing 
'pywintypes26.dll' file. 

The post_install script runs fine when executed from the main python.exe 
interpreter.

A possible fix is to embed a MSVCRT90 dependency into wininst-9.0.exe and 
wininst-9.0-amd64.exe using the following linker switches:

/MANIFESTDEPENDENCY:"type='Win32' name='Microsoft.VC90.CRT' 
version='9.0.21022.8' processorArchitecture='X86' 
publicKeyToken='1fc8b3b9a1e18e3b'"

/MANIFESTDEPENDENCY:"type='Win32' name='Microsoft.VC90.CRT' 
version='9.0.21022.8' processorArchitecture='amd64' 
publicKeyToken='1fc8b3b9a1e18e3b'" 

See also <http://msdn.microsoft.com/en-us/library/ew0y5khy.aspx>

A patch against the Python 2.6 PCbuild\bdist_wininst.vcproj is attached. I 
tested it with Python 2.6.4, 32 and 64 bit, and pywin32 214 installers built 
with the following command:

  python.exe setup.py bdist_wininst --user-access-control=auto 
--install-script=wxpython_win_post_install.py

----------
assignee: tarek
components: Distutils, Windows
files: bdist_wininst.vcproj.patch
keywords: patch
messages: 98694
nosy: cgohlke, tarek
severity: normal
status: open
title: Bdist_wininst installers fail to load extensions built with Issue4120 
patch
versions: Python 2.6
Added file: http://bugs.python.org/file16086/bdist_wininst.vcproj.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue7833>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to