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
Re: [pyxpcom] Problems distributing Xulrunner + Pyxpcom
by Todd Whiteman other posts by this author
Jul 10 2008 6:19PM messages near this date
view in the new Beta List Site
[pyxpcom] Problems distributing Xulrunner + Pyxpcom | [pyxpcom] communication between firefox and external python program
Brian Rieb wrote:
>  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)????
>  

Hi Brian,

As a side note, I believe the XULRunner 1.9 VS-2005 dependencies have 
changed somewhat. The C-runtime dll's are either linked in statically or 
depend upon the XULRunner mozcrt19.dll instead (it should not require 
the msvc8 dll files).

I've ran into this problem before when working with the PythonExt project:
http://pyxpcomext.mozdev.org/

This project uses the following ideas to get around some of these dll 
problems:

1) uses stub component files for pyxpcom/pyloader/pydom, that go into 
the components folder. This avoids having any dll file dependencies 
inside the components directory and will in turn load the appropriate 
pyxpcom dll files that reside in a separate folder.

2) uses an embedded Python 2.5.2 from python.org (uses msvc7 - dlls are 
already provided as part of the Python distribution).

I have not tried PythonExt lately on a fresh Windows installation (one 
that does not already have the VS2005 runtime installed), but I did have 
it working at one time without requiring the msvc runtime... just using 
a manifest (xml) file, idea from here:
http://rcrowley.org/2008/01/14/when-you-cant-statically-link-manifest/

Hope that helps.

Cheers,
Todd
_______________________________________________
pyxpcom mailing list
pyxpcom@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Thread:
Brian Rieb
Todd Whiteman

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