Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Safest .exe creation

by TomKane (Beadle)
on Nov 21, 2007 at 18:54 UTC ( #652196=perlquestion: print w/replies, xml ) Need Help??
TomKane has asked for the wisdom of the Perl Monks concerning the following question:

Does anyone have experience with the tools that create .exe files from perl scripts?

I've just read that perlcc is not recommended for any kind of production code. Do either perl2exe or perlapp meet that standard?

I need to create stable, solid, bullet-proof, stand-alone executables that are suitable for distribution to end users. I want to distribute my apps free, but they have to be reliable.

Thanks for any feedback.

Replies are listed 'Best First'.
Re: Safest .exe creation
by bart (Canon) on Nov 21, 2007 at 19:33 UTC
    Free tools: PAR::Packer (PAR), PerlBin, Cava Packager. All are maintained, work well with the latest Perl, and are reliable. See my blog post for some use anecdotes.

    And then there is TinyPerl, which hasn't been updated in 4 years, only works with the perl version it was built with (5.8.0 IIRC), and at least using glob on it makes it crash.

    Oh, and yes, both PerlApp (ActiveState) and perl2exe (IndigoStar) are reliable commercial tools.

Re: Safest .exe creation
by okram (Monk) on Nov 21, 2007 at 20:09 UTC

    This is the setup that I'm using on Win32:
    • Activestate Perl from
    • "bribes" repository for PPM
    • Install PAR and PAR-Packer from Bribes
    To add the "bribes" repository:
    • Launch PPM
    • Edit / Preferences
    • Tab "Repositories"
    • Add:
      • Name: bribes
      • URL:
      • Click ADD
    Now you'll be able to install PAR and PAR-Packer from Bribes, which works like a charm.

    You will just launch the following:
    c:\perl\site\bin\pp.bat -o file.exe
    c:\perl\site\bin\pp.bat --gui -o file.exe

    depending on whether it's a console or Tk application.
    I have this setup on three windows machines and so far it seems _the_ best option.

    I've tried to use strawberry/vanilla perl as well, and also activestate without the "bribes" repository, but I wasn't able to get both of these running:
    • Tk
    • PAR::Packer
    The aforementioned setup instead gives a workable installation where you can "compile" EXE using standard Perl modules, and even Tk.

    If you "care" about crypting your perl files, you might want to have a look at PAR::Filter::Crypto but I haven't actually tested it yet :(

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://652196]
Approved by friedo
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2017-12-15 22:31 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (443 votes). Check out past polls.