Problem with bdist_wininst option (trying to distribute a COM server, on Windows XP)
Preface: If this ends up being a real "Newbie" question, my apologies to all. But I have read "Distributing Python Modules" by Greg Ward, May 19, 2004, particularly Chapter 6 - Creating Built Distributions - and 6.3 - Creating Windows Installer. And I still can't see what I'm doing wrong. I'm having trouble using distutils with the bdist_wininst option. I've been able to create a COM server and package it in a .DLL, but I can't create an "installer" as a .exe My goal is to create a .exe that can be run on a client machine that does NOT have the standard Python environment, and this .exe would install all the modules?/.dll's/.exe's that are necessary for the COM server to run on the client machine. When I activate the "Run" command from within the PythonWin window and select the program setup_NaComponent_exe.py (attached), it nicely creates build and dist sub-directories. In the dist directory, there is a .exe and a .dll file: NaComponent.dll NaComponent.exe The interactive window has lots of informational messages such as: *** copy extensions *** . . *** copy dlls *** . . *** binary dependencies *** . . But the .exe and .dll created from the above (without the bdist_wininst argument) cannot be simply installed on a client machine and act as a COM server. (I tried registering the .dll with this command: regsvr32 /s \\Eng\prod\Group\TIS\Dev\Mfg\M3_New_PipeShop_COM\Current\Application\dis t\NaComponent.dll but that did not work. Next, I ran setup_NaComponent_exe.py, but I added the argument: bdist_wininst The messages returned in the interactive window were:
running bdist_wininst running build installing to build\bdist.win32\wininst
There was an error: ....\setup_NaComponent_exe.py' returned exit code error: build\bdist.win32\wininst: No such fi So I created the directory build\bdist.win32\wininst, reran the setup program, and got this:
running bdist_wininst running build installing to build\bdist.win32\wininst creating 'c:\docume~1\n50519\locals~1\temp\tmpaqvrsy.zip' and adding '.' to it removing 'build\bdist.win32\wininst' (and everything under it)
But there was no zip file tmpaqvrsy.zip in the above-mentioned directory, and the wininst directory was removed (as described above). Can someone tell me what I'm doing wrong? Johan Vinke Nassco San Diego, CA _________________________________________________________________ Version info: Python Version: 2.3.3 PythonWin Version: win32all build 163 1st info line in PythonWin: PythonWin 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] on win32.
Johan:
I'm having trouble using distutils with the bdist_wininst option. I've been able to create a COM server and package it in a .DLL, but I can't create an "installer" as a .exe My goal is to create a .exe that can be run on a client machine that does NOT have the standard Python environment, and this .exe would install all the modules?/.dll's/.exe's that are necessary for the COM server to run on the client machine.
That is not the role of bdist_wininst. bdist_wininst is designed to create an installer for a python package, not a stand-alone executable created using Python. What you want is the py2exe tool (http://www.py2exe.org/) to create an executable, then a generic installer tool, such as NSIS, Inno or an MSI based tool to actually install the tool on the end-user's PC. py2exe has its own mailing list - see the link above. Cheers, Mark
participants (2)
-
Mark Hammond
-
Vinke, Johan