On Tue, Mar 22, 2011 at 7:59 PM, Travis Williams <[email protected]> wrote:
> Another question that came up that I am working around, is there a way to > change from decompressing into %TEMP% (in win32) to directory I can define? You want to hardwire that into the packed executable itself? Sorry, no way to do that. You can set some environment variables in the environment where the executable runs, though. Check out PAR/Environment.pod (in the PAR distribution, not in PAR::Packer). > Is there a way to pack it gui-less, but provide a command line option to > show the GUI, if not I can write my own but thought you might have a simple > solution? Packing without --gui doesn't prevent you from having one :) It just means that the executable is marked as needing a console window, i.e. it will open a DOS box. On the other hand, if you do specify --gui I'm not sure where stdout and stderr of your script go. Maybe into the bit bucket or maybe Perl crashes when it tries to write to them. Cheers, Roderich > > Travis > > On Tue, Mar 22, 2011 at 1:55 PM, Travis Williams <[email protected]> wrote: >> >> Thank you.. definitely something that is easy to find that I missed. >> >> Another question that came up that I am working around, is there a way to >> change from decompressing into %TEMP% (in win32) to directory I can define? >> >> Travis >> >> On Tue, Mar 22, 2011 at 1:52 PM, Roderich Schupp >> <[email protected]> wrote: >>> >>> On Tue, Mar 22, 2011 at 7:34 PM, Travis Williams <[email protected]> >>> wrote: >>> > Is there a way to make pp check if the script it is compiling >>> > (converting, >>> > transforming to a .exe, etc,etc) actually has all the modules required >>> > to >>> > run that script? I have a few different dev enviroments and and a >>> > shared >>> > repository and I find myself loading a module on system A for testing, >>> > then >>> > ending up on system B to compile it, and B doesn't have that module. >>> >>> Use pp's option "-c". This will run "perl -c your_script" before >>> packing, so should >>> prevent glaring omissions: >>> >>> $ pp -o foo.exe -e 'use Frobozz;' # packs without >>> complaint (and Frobozz.pm :) >>> $ pp -o foo.exe -c -e 'use Frobozz;' >>> Can't locate Frobozz.pm in @INC (@INC contains: /etc/perl >>> /usr/local/lib/perl/5.12.3 /usr/local/share/perl/5.12.3 /usr/lib/perl5 >>> /usr/share/perl5 /usr/lib/perl/5.12 /usr/share/perl/5.12 >>> /usr/local/lib/site_perl .) at 8JEx3Q line 4. >>> BEGIN failed--compilation aborted at 8JEx3Q line 4. >>> SYSTEM ERROR in compiling pppgE1t.pl: 512 at >>> /usr/share/perl5/Module/ScanDeps.pm >>> >>> If you have modules that are loaded dynamically at runtime then "-c" >>> won't catch >>> if they're missing. There's also "-x" which actually _runs_ your >>> script once before >>> packing it. But that might not work for every script: >>> >>> $ pp -o foo.exe -x -e 'die "cant pp this with -x" unless @ARGV;' >>> cant pp this with -x at /var/tmp/build/yef3ra line 2. >>> SYSTEM ERROR in executing pplZkVW.pl: 65280 at >>> /usr/share/perl5/Module/ScanDeps.pm line 1289 >>> >>> Cheers, Roderich >> > >
