Sat Feb 17 12:27:14 2018: Request 124445 was acted upon.
Transaction: Correspondence added by RSCHUPP
       Queue: PAR-Packer
     Subject: Par-Packer 'falsifies' PerlTk server() and Win32 GetOSName() and 
GetOSVersion() output on Windows 10
   Broken in: (no value)
    Severity: (no value)
       Owner: RSCHUPP
  Requestors: adr-perlc...@linuxtech.net
      Status: new
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=124445 >


On 2018-02-16 07:50:32, adr-perlc...@linuxtech.net wrote:
> It looks to me like Par-Packer is somehow intercepting and 'falsifying' 
> the return values of these Perl functions.

Nope, PAR::Packer doesn't intercept and falsify anything.
I have a theory what's causing this (see below), but first, for the record:

- what version of Module::ScanDeps, PAR and PAR::Packer are you using?
- what version of Perl and what distro (Strawberry, ActiveState etc)?
- and most important: did you build PAR::Packer yourself or got it from 
somwhere?

Now for the theory: the bug report 
https://rt.cpan.org/Public/Bug/Display.html?id=90807
has some links to Microsoft docs which further link to
https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).aspx

The key why this may be relevant is that an executable packed by PAR::Packer
contains a custom version of the Perl interpreter, i.e. not the original 
perl.exe.
It's this interpreter that runs your script and all the packed modules.
According to the above docs, unless an executable was build with a special entry
in its manifest file, the function GetVersionExA (which is used by the Perl 
module Win32)
will always report that you're running Windows 8 while in fact you may be 
running
a higher version of Windows. I checked that perl/bin/perl.exe from 
strawberry-perl-5.26.1.1-64bit has indeed been built with this magic incantation
in its manifest, but the custom Perl interpreter build by PAR::Packer is
missing it.

It will take me a few days to procure a Windows 10 machine, would you be 
willing to 
build PAR::Packer yourself with a tentative fix?

Cheers, Roderich

Reply via email to