|| at Jan 15, 2010 at 8:04 am
Gib Bogle wrote:
I have a simple demo program (on Windows XP) that uses the ctypes
module to load a DLL.
This program works as expected with Python 2.5.4, but fails with
Python 2.6.4 (on a different
machine, each machine has only one Python version installed), with
File "demo.py", line 37, in <module>
mydll = windll.LoadLibrary("DEMO.DLL")
File "c:\python26\lib\ctypes\__init__.py, line 431, in LoadLibrary
File "c:\python26\lib\ctypes\__init__.py, line 353, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 14001] This application has failed to start
because the application configuration is incorrect. Reinstalling the
application may fix this problem
It isn't clear to me what the "application" is. As far as I know I
didn't install anything except Python 2.6.4. Is it possible that ctypes
doesn't work with 2.6.4?
Gib Bogle wrote:
<div class="moz-text-flowed" style="font-family: -moz-fixed">It has
occurred to me that the error may have nothing to do with ctypes. The
DLL was built on one machine and copied to the other (which doesn't
have the compiler installed). Although both machines are running
Windows XP, there might be some subtle differences.
I see that the build machine has XP Professional, Version 2002,
Service Pack 2, while the machine that fails to load the DLL has XP
Home Edition, Version 2002, Service Pack 3. Who knows.
The application is "python.exe". And usually, when it gives such an
error, there's a missing DLL, or one of improper version.
I think you want to run Dependency-Walker. Seehttp://msdn.microsoft.com/en-us/library/ms235265.aspx
for a description, and follow its link tohttp://go.microsoft.com/fwlink/?linkid2640
to download it.