Win32: python-network-installation?

Mark Hammond MHammond at skippinet.com.au
Thu Jul 8 03:56:03 EDT 1999


Holger Jannsen wrote in message
<37835B30.BFCC4A05 at phoenix-edv.netzservice.de>...

>To reach Python-dlls I copied the dlls '\WinNT\System32\PythonCOM15.dll'
>and '\WINNT\System32\Python15.dll' to a directory '\\as1\python\dll'
>onto the server.

Dont forget pywintypes15.dll.

>3)only '\\as1\python\pythonwin\pythonwin.exe' occurs a
> 'Microsoft Visual C++ Runtime Library'-RuntimeError:
> Program: \\as1\python\pythonwin\pythonwin.exe
> abnormal program termination
>
>What do you think, does I forget any dll? Why does that error (3)
>occur? (Perhaps I need that pythonwin.exe to check some
>scripts when sitting at a client...?!)

That error normally means 2 Python DLLs were found.  My guess is either
pythoncom15.dll or pywintypes15.dll.

The more I think about it, the problem is almost certainly the fact that
win32api.pyd, win32ui.pyd etc all use pywintypes15.dll - not as a Python
module, but as a regular DLL.  So assuming you still have pywintypes15.dll
in your system directory, the DLL load process will be:

* Python does "import win32api" - part of the NT process finds and loads
pywintypes15.dll, probably from the system directory.
* Python does "import pywintypes" - Python searches for Pywintypes, consults
the registry and finds it listed somewhere else.  Python loads this DLL.

Things then go boom very quickly.

I would put all the DLLs (not necessarily .pyds, but python15.dll,
pywintypes15.dll, pythoncom15.dll) and all the .EXEs (python.exe,
pythonw.exe and pythonwin.exe) into the same directory.  Then seek out and
destroy all other copies of these files from your machine.

>Are there other (better) ways to get a network installation for
Win32-Clients?

Nope, but feel free to help :-)

>[HKEY_CURRENT_USER\Software\Python\Python for Win32]
ALL of these HKCU\Software\Python\Python for Win32" entries should go.  the
installer doesnt create them - Pythonwin does when it shuts down for the
first time.  Unless there are specific preferences you want to default for
these users, dont add them.

>[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Python.File\AutoRegister]
>@="\\\\as1\\python\\DLL\\PythonCOM15.dll"

Dunno where this came from - the installer didnt add it.

>[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\1.5]

You are missing all the important ones - PythonPath and Modules keys are
critical for the win32 extensions to work.

Note the installer sources are on my starship page (in the "buildtools"
archive).

Also note you can become a registered user :-)
http://starship.python.net/crew/mhammond/registration

Mark.







More information about the Python-list mailing list