Search code examples
pythonarchitectureexecutablepy2exewin32com

dll load errors in python executable made from pywin32


I created python executables with py2exe with both 64bit python interpreter and 32 bit python interpreter.

In my program, I use the module pywin32 com, and so I dl'ed and installed both the 64bit and 32bit versions of the program prior to creating the executable.

The 64bit exe works fine, but the 32 bit one has the following problem:

Traceback (most recent call last):
  File "program.py", line 11, in <module>
  File "win32com\__init__.pyc", line 5, in <module>
  File "win32api.pyc", line 12, in <module>
  File "win32api.pyc", line 10, in __load
ImportError: DLL load failed: The specified procedure could not be found.

I tried both versions by running the source directly, ie python program.py and C:\python_32\python.exe program.py and both work fine.

Note I tested the 64bit exe on a 64bit windows 7 computer and the 32bit exe on a 32bit windows XP computer.


Solution

  • Older than everything ever, but I stumbled on this problem today, and if anyone else does, what I ran was:

    python /c/Python26/Scripts/pywin32_postinstall.py -install from the commandline (change values to fit). That worked:

    $ python /c/Python26/Scripts/pywin32_postinstall.py -install
    Copied pythoncom26.dll to C:\WINDOWS\system32\pythoncom26.dll
    Copied pythoncomloader26.dll to C:\WINDOWS\system32\pythoncomloader26.dll
    Copied pywintypes26.dll to C:\WINDOWS\system32\pywintypes26.dll
    Registered: Python.Interpreter
    Registered: Python.Dictionary
    Registered: Python
    -> Software\Python\PythonCore\2.6\Help[None]=None
    -> Software\Python\PythonCore\2.6\Help\PythonwinReference[None]='c:\\Python26\\Lib\\site-packages\\PyWin32.chm'
    Pythonwin has been registered in context menu
    Creating directory c:\Python26\Lib\site-packages\win32com\gen_py
    Shortcut for Pythonwin created
    Shortcut to documentation created
    The pywin32 extensions were successfully installed.`
    

    (On WinXP SP3)