ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> pyxpcom
pyxpcom
[pyxpcom] Problems distributing Xulrunner + Pyxpcom
by Brian Rieb other posts by this author
Jul 10 2008 12:43PM messages near this date
view in the new Beta List Site
Re: [pyxpcom] Minimal Python for XPCOM use | Re: [pyxpcom] Problems distributing Xulrunner + Pyxpcom
Hello all.

Our company is developing a cross platform client application utilizing 
xulrunner + pyxcpom, and I am running into some "distribution" problems.

Like komodo edit, we are including a self-compiled copy of python 
(python.org) in the application directory.

Our windows dev machine is running Microsoft Visual Studio 2005 (vc8) 
When compiled (python and xulrunner+pycom)and run on the dev machine, 
everything is kosher.  When I copy the app folder to another box, it 
stops working.

Bare with me if this information is not entirely accurate - I am still 
wrapping my head around the way Microsoft does things.

Starting with Visual Studio 2005 (VC8), the Micsosft doctrine has 
changed for referencing the standard C assemblies.  This was an attempt 
to solve the "DLL Hell" problem. In the past, when you compiled a 
standard C or /C++ program, it referenced the msvcrt.dll C assemblies 
present in the windows system... Not much of a problem since most 
windows installations have them.

Now however, they have instituted "side by side" assemblies... you can 
have multiple C assemblies on your system, separated and uniquely 
identified by folders/XML manifest file.  That way if my C program uses 
a different version of the C assembly dependencies form your program, we 
could all live together happily - sort of.

Unfortunately, these C assemblies need to be "installed" - something I 
am trying *desperately* to avoid. I want our application to without any 
need for an installer, or futsing with the registry. An alternative 
solution is to have a local copy of the assembly dlls in your 
application directory.  The problem is we have the python app, and the 
xulrunner app, and various dlls and pyd that reference the assembly are 
in all sorts of folders and sub-folders.

The kludgey solution is what I have currently done, place copies of 
these assembly dlls (3 of them) all over the place in our app folder. 
One in the python folder, one in the main xulrunner folder etc... Not 
only is this ugly, but actually hits a bad problem.

One of the places I need to put these dll copies is in the 
xulrunner/components folder... so that pylibloader.dll and pydom.dll can 
work. Unfortunately when run, xulrunner sees these and tries to 
"register" these dlls... Warnings pop up the first time you run the 
application... which is unacceptable.

Does anyone know a solution that addresses this?  I have thought of but 
don't know how/if maybe one of these solutions would work:

A) Possibly compiling xulrunner+pyxpcom statically - eeep!

B) Find a way to point all exe and dlls that depend on these assemblies 
to a single, well organized copy of the assembly that lies in our 
applicaion folder.

C)????

Any help would be appreciated.
Thread:
Brian Rieb
Todd Whiteman

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved