On Jun 16, 2009, at 1:41 AM, Mark Hammond wrote:
On 16/06/2009 12:40 PM, Roberto Aguilar wrote:
Hello everyone,

I've been able to successfully build a MSI of pywin32 under Python
2.6.2. But, when trying to use python, e.g. "import win32api", after
installing the MSI I get:

ImportError: DLL load failed: The specified module could not be found.

With the help of a colleague, I discovered the problem is due to python not finding pywintypes26.dll. This file was installed by the MSI. It's in:

C:\Python26\Lib\site-packages\pywin32_system32

but that location is not being searched when importing.

I can either:

- set PATH=c:\Python26\Lib\site-packages\pywin32_system32;%PATH%
- then importing win32api works fine.

or

- move pywintypes26.dll to c:\Python26\Lib\site-packages\win32
- then importing win32api works fine.

Or arrange to execute 'pywin32-postinstall.py -install' at the end of the install, which will copy those files somewhere suitable (either system32, or to the python dir).

I'd be happy to make that script friendlier for MSI if necessary (and hopefully you will contribute the MSI process back to pywin32 ;)

Thanks for the tip, Mark. I discovered that pywin32_postinstall.py was being run during the bdist_msi command and it would error out when run during the msi installation.

Turns out that the MSI installer does not pass the -install argument. Instead it just runs the command with no arguments, which was simply printing out the usage. I removed running it for bdist_msi command since it should only run when actually installing the msi.

To fix the msi installation part, I generate an msi-specific pywin32- postinstall script (pywin32_msi_postinstall.py) which simply replaces the contents of if __name__ == '__main__' with install(). That file is then added to the MSI package.

There might be a better approach to this, but I'm attaching a patch with my changes in case they are useful.

Thanks,
-berto.

Attachment: pywin32_setup.patch
Description: Binary data




_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to