Wow, thanks a lot Roderich, that would've taken me hours to debug that issue! And yes that 's exactly the cause, they do have a space in their TMP/TEMP variable.
I will inform the client to set PAR_GLOBAL_TMPDIR and PAR_GLOBAL_TEMP with no space in it as a workaround for now, and will upgrade our library now. Really appreciate your help! Chenchen -----Original Message----- From: Roderich Schupp via RT <bug-par-pac...@rt.cpan.org> Sent: Thursday, September 13, 2018 5:29 AM To: par@perl.org Subject: [rt.cpan.org #127064] Question about weird pp executable behavior Thu Sep 13 05:28:59 2018: Request 127064 was acted upon. Transaction: Correspondence added by RSCHUPP Queue: PAR-Packer Subject: Question about weird pp executable behavior Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: c...@factset.com Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=127064 > Hi Chenchen, I was able to reproduce the problem with PAR::Packer 1.037 by running the packed executable with environment variables TEMP and TMP set to a path that contains blanks, e.g. set TEMP=C:\Users\SCHRO2~1\.cpanm\work\1536826253.8944\PAR-Packer-1.037\t m p The test script was pp -o foo.exe -E "use Data::Dumper; say 'ARGV = ', Dumper(\@ARGV);" and running this in above environment produces .\foo.exe 1 2 3 ARGV = $VAR1 = [ 'm', 'p\\par-536368526f32342d657874\\cache-688422ed2d95d8d78309df7ba393ecec060a8455/foo.exe', '1', '2', '3' ]; The same script packed with PAR::Packer 1.047 works correctly in this environment. Cheers, Roderich