[python-win32] Problem with msvcr90.dll
Tefnet Developers
developers at tefnet.pl
Mon Jan 31 12:54:48 CET 2011
Hi,
I am developing a msgina replacement.
I am at the point where I have the whole Gina API handled in python (a
dll written in C, calling methods of a python object).
My problem is that somehow my program cannot import pywin32 modules:
Jan 31 12:12:41 p11 pygina: callproxy.caller: File "c:\teflogon\system_nt.py", line 4, in <module>
Jan 31 12:12:41 p11 pygina: callproxy.caller: import pywintypes
Jan 31 12:12:41 p11 pygina: callproxy.caller: File "C:\Python26\lib\site-packages\win32\lib\pywintypes.py", line 124, in <module>
Jan 31 12:12:41 p11 pygina: callproxy.caller: __import_pywin32_system_module__("pywintypes", globals())
Jan 31 12:12:41 p11 pygina: callproxy.caller: File "C:\Python26\lib\site-packages\win32\lib\pywintypes.py", line 64, in __import_pywin32_system_module__
Jan 31 12:12:41 p11 pygina: callproxy.caller: import _win32sysloader
Jan 31 12:12:41 p11 pygina: callproxy.caller: ImportError: DLL load failed: The specified module could not be found
I did a check and replaced the failing method with execution of
python.exe running the same code:
if __name__ != '__main__':
subprocess.call(
[r'c:\python26\python.exe', r'c:\teflogon\tefgina.py', pMessage],
)
And pywintypes gets imported fine there.
My dll is built using mingw, like this:
i586-mingw32msvc-gcc -L./lib -shared -Wl,--kill-at pygina.o -o
pygina.dll -lpython26
I thought it had something to do with msvcr90.dll, so I've tried the
following:
1. Adding -lmsvcr90 at the end of the linking command
2. Including a manifest in the dll:
$ cat pygina.dll.manifest
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
$ grep manifest pygina.rc.in
2 RT_MANIFEST pygina.dll.manifest
$
But it did not change a thing.
So the question is - why can python.exe load pywin32 modules and my dll
cannot?
I have been stuck with this for a couple of days now and any pointers
would be great :).
Thanks,
Filip Zyzniewski
Tefnet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20110131/53010a82/attachment.html>
More information about the python-win32
mailing list