Question

I've just tried to generate *.exe files from Perl scripts by using Par::Packer, the tool works fine as expected.

The situation now is I would like to distribute my Perl based application as a group of utilities (exe files), for each of them there is a corresponding Perl scripts, and they are sharing some common modules (including Perl stuff) pretty much. This results in each of the generated *exe files are bloated by similar codes.

I tried to attach --dependency option to pp, which reduce the size in some extent, while it just move the perl.dll out of the packaged file, the common modules are still there. I think there should be some other approaches to resolve this.

Any suggestions? Thank you in advance.

Was it helpful?

Solution

http://cava.co.uk/ provides that out of the box, allows you to easily create a .msi style installer, with however many scripts you want available as .exe files (and all modules and everything else required is shared)

You could also pack Par::WebStart's perlws, and pack each app using its make_par, then invoke each app using appshortcut.lnk or appshortcut.bat, or appshortcut.exe which just does system "perlws.exe appshortcut.pnlp"

or you could turn all your utilities into modules (you should do that anyway), and then pack them all with pp into a single single .exe, then create foo.exe bar.exe baz.exe ... which just do system "mybigexe.exe foo.exe"

change the icons... with exe_update (from cpan)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top