From: Thomas H. <th...@py...> - 2004-06-09 07:04:15
|
"E. A. Tacao" <e.a...@te...> writes: > In Tuesday, June 8, 2004, 5:21:16 PM, Thomas wrote: > > TH> "E. A. Tacao" <e.a...@te...> writes: > >>> I wrote an app in Python 2.2.2/wxPython 2.4.2.4. While at that, I used >>> py2exe 0.4.1 to generate my dist under WinXP. The main .exe file was >>> about 800kB. >>> >>> Now I upgraded to Python 2.3.3/wxPython 2.5.1.5/py2exe 0.5.0 and I'm >>> facing an issue: my .exe file is only 44kB and there's a 'library.zip' >>> file that contains several modules. >>> >>> I guess on 0.4.1 the required modules were inside the .exe file (there >>> wasn't a 'library.zip' here and everything worked fine). How should I >>> tell py2exe 0.5.0 that I still want them inside the .exe file? > > TH> There's no way. It is now always in the zip file, the zip can be > TH> shared between several (possibly) related exe or dll files which > TH> you can build with one setup script. Technically, it should be > TH> possible to append the zip archive to the exe file itself, but > TH> what would you gain? One file less to distribute - is it worth the > TH> effort? > > I think so. Some apps are too shy and don't like curious end users to > be looking inside their 'library.zip' files. The problem with this is that it's possible anyway. If winzip is installed, right clicking an exe-file which contains a zip-archive in explorer automatically gets 'Extract to ...' and 'Run with Winzip' menu entries, and doing a drag-drop operation with the right mouse button also, in addition to the usual 'Create Shortcut' entry. If you want to obscure the zip-archive imo the best way is to specify a filename with a different extension, say 'zipfile=shared.dll' for example. At least this will avoid the winzip 'problem'. > If I may suggest, I think > there should be a way to select between the old 'all-in-exe' style and > the new 'library.zip' style. Do you think it's doable/feasible? In priciple it would be possible - zipimport can handle archives prepended by an exe-stub. I'll think about it - but it will not be in the soon-to-be-released 0.5.1. Thomas |