[wxPython] Deploying wxPython Applications

The idea of dlls (shared libraries) in Windows is based on the simplistic observation that many applications share the same code. And then we could jump to the conclusion that we could provide this common code in a number of dlls that would preferable reside in a central location, that is, system32.

This approach would work if the shared code remained unchanged for long periods of time. In such case we would only have to replace, periodically, those dlls.

Unfortunately, or probably fortunately, shared code, like wx22_1.dll, that is, the wxPython dll, benefit from frequent bug fixes and improved features. I guess that wx22_1.dll changes often more rapidly than the applications that depend on it. Every time I install a new version of wx??_?.dll, I therefore get out of sync with the deployments I did before. Because I now have obtained a new version, I can not even reliably reproduce a bug on my development machine, because it occurs in a previous version of the application that was deployed with a previous version of the dll.

Therefore, the little benefits of the classical dll approach (less disk space?) are totally overwhelmed by the enormous waste of time wading through the stinking sewers of the dll hell.

What would happen if I did the following? I create a separate directory for my application (on my desktop, for example), and I copy the whole C:\Python16 content to it. Next I move python16.dll from system32 to this directory and wx22_1.dll to its .\wxPython subdirectory.

There are no Python/wxPython dependencies in system32 and everything still works fine (up till now). Every time I do a new deployment, I send the whole directory (containing all its dependencies) to the user. I can have multiple versions of python, wxPython and my application concurrently in different folders on my desktop according to every deployment I have ever done! I don't have to make any assumption as to which dlls, runtime, etcetera have already been deployed to a particular workstation, as they will behave exactly the same as on my own workstation.

According to the install logs, I only need to copy the following files:
C:\WINNT\System32\python16.dll
C:\WINNT\System32\wx22_1.dll
C:\WINNT\System32\MSVCIRT.DLL
C:\WINNT\System32\MSVCRT.DLL

I would like to know: Did I forget something? (besides the horrible Windows registry)

···

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at http://profiles.msn.com.

Hello Poupaert,

Tuesday, September 05, 2000, 5:40:34 PM, you wrote:

According to the install logs, I only need to copy the following files:
C:\WINNT\System32\python16.dll
C:\WINNT\System32\wx22_1.dll
C:\WINNT\System32\MSVCIRT.DLL
C:\WINNT\System32\MSVCRT.DLL

I would like to know: Did I forget something? (besides the horrible Windows
registry)

If you have two different MSVCRT.DLL strange things *will* happen. And on
win9x it's impossible to load MSVCRT.DLL not from system dir.

···

--
Best regards,
Niki Spahiev