Since you are packaging a large-ish application, it would probably be better to create an installer that makes a self-contained folder tree with your application, Perl and the libraries you depend on.

(Executables created by pp (or perl2exe or similar) have a long startup time because everything bundled in to the exe file has to be extracted to a temporary folder, first. Also, creating an installer will give you more control.)

In the past, I have used the "portable edition" of Strawberry Perl as a base for creating installers for custom Perl installations under Windows. Including your application as part of such a custom Perl installer would not be much more work.

Disclaimer: Last time I did this was well over a year ago, so I've forgotten some details. I found the information I needed by searching the web and reading various scripts in the portable Perl installation.

What I remember about what I did:

  1. "Installed" the "portable edition" of Strawberry Perl on a Windows PC that had no other Perl installed.
  2. Launched the .bat file in PESP to start a command console to run Perl commands.
  3. Used cpan to install needed modules.
  4. Copied known required DLLs to the bin folder.
  5. You can copy your Perl programs to the bin folder. Then test that it works. Add any missing DLLs and test again.
  6. Made a copy of the above mentioned .bat file to SetUp.bat
  7. Modified this new SetUp.bat to perform needed set up actions, including running a Perl program that adds entries to the Windows registry.
  8. Created a README.txt file saying to run the SetUp.bat file.
  9. Created a zip file of the customized Perl installation.
  10. Copied the zip file to another PC with no Perl, extracted it, ran SetUp.bat and tested several Perl programs to make sure they ran correctly. And test your program. If any DLLs are missing, go back, add them to the bin folder, create a new zip file and test it.
  11. Distributed the zip file with the instructions to extract to c:\CompanyPerl and read the README.txt file.

If this is too hard for your users, try rewriting SetUp.bat as SetUp.pl, then use pp -a CompanyPerl.zip SetUp.pl to create a SetUp.exe - then test it on another PC

If your users demand a "proper" Windows installer, you can use, for example, 7-zip or NSIS, to create a Windows installer.

Once the initial install is done, more Perl programs can be "installed" by copying them to the bin folder in the custom Perl installation.


In reply to Re: dll not embedded in PAR::Packer's output by RonW
in thread dll not embedded in PAR::Packer's output by jowe

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.