Reputation: 702
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.
Upvotes: 2
Views: 161
Reputation: 79
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)
Upvotes: 1