Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problem using Win32::TieRegistry in script packed with pp on Windows [rt.cpan.org #143646]

3 views
Skip to first unread message

Roderich Schupp via RT

unread,
Jul 8, 2022, 11:15:03 PM7/8/22
to p...@perl.org
Thu Jul 07 10:44:52 2022: Request 143646 was acted upon.
Transaction: Correspondence added by RSCHUPP
Queue: PAR-Packer
Subject: Problem using Win32::TieRegistry in script packed with pp on Windows [rt.cpan.org #143646]
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: Torsten...@assyst.de
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=143646 >


Sorry, I can't reproduce this here:

OS: Win10Build 19044 (64-bit)
Perl: Win32 strawberry-perl 5.32.1.1 #1 Sun Jan 24 15:00:15 2021 x64 (installed via MSI installer)

Cheers, Roderich

Roderich Schupp via RT

unread,
Jul 13, 2022, 1:30:03 AM7/13/22
to p...@perl.org
Sat Jul 09 08:46:33 2022: Request 143646 was acted upon.
Transaction: Correspondence added by RSCHUPP
Queue: PAR-Packer
Subject: Problem using Win32::TieRegistry in script packed with pp on Windows [rt.cpan.org #143646]
Broken in: (no value)
Severity: (no value)
Owner: Nobody
Requestors: Torsten...@assyst.de
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=143646 >


On 2022-07-07 11:56:33, Torsten...@assyst.de wrote:

> $_NoMoreItems is used to check the result of an API call. It has a
> different/wrong value when Win32::WinError is unavailable.

That propbably explains why it worked for me (English vs German messages?),
though my exe/zip didn't contain Win32::WinError either.

> if ( eval { require Win32::WinError } ) {

This runtime check and fallback code is likely obsolete as Win32::TieRegistry states in its META.yml

requires:
Carp: 0
Tie::Hash: 0
Win32::WinError: 0
Win32API::Registry: 0.33
perl: 5.006

Anyway, the interesting question for me is: why didn't PAR::Packer
take the above line as a clue to pack Win32::WinError into the executable.

I'll fix this in Module::ScanDeps (which PAR::Packer uses to analyze the dependencies of your script).

Thanks for following up. Cheers,

Roderich

0 new messages