bubnikv has asked for the wisdom of the Perl Monks concerning the following question:

Hello Perl Monks. We are developing an application using Perl, for which we need to create an installer targeting Windows and Mac OS. I was experimenting with PAR::Packer and with Cava. The Cava installer does roughly what I would expect, but as far as I am known the Cava installer only works with the Citrus Perl on MacOS and the Citrus Perl was abandoned couple of years ago. On the contrary, PAR::Packer works with the up to date Perl distributions. Now there is an inconvenience of the PAR::Packer. It decompresses into a temp directory on startup. To distribute an application by an installer this way does not make much sens. In case of an executable produced by the PAR::Packer, most of the code of a larger Perl application is being kept on the hard drive twice: Once inside the PAR archive, second time in the temp cache. Is there a way to reduce the redundancy? I would like to install the temp cache with my installer and remove the already decompressed files from the PAR archive. Thanks, Vojtech
  • Comment on PAR::Packer to create an application without a decompression into temp?

Replies are listed 'Best First'.
Re: PAR::Packer to create an application without a decompression into temp?
by Discipulus (Canon) on Apr 22, 2016 at 10:30 UTC
    most of the code of a larger Perl application is being kept on the hard drive twice
    not only the code but the whole Perl distribution! But this, i suspect, is exactly how PAR::Packer works.

    see also: this and that

    L*

    There are no rules, there are no thumbs..
    Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
Re: PAR::Packer to create an application without a decompression into temp?
by Anonymous Monk on Apr 22, 2016 at 22:43 UTC
      Thanks a lot! The relocatable @INC was the key I was looking for. Now I am using the PAR::Packer to build a PAR archive, then I decompress the PAR archive, add a relocatable perl executable (and the perl.dll on Windows) to the soup and I am done. Vojtech