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

"Torsten.Werner via RT" <[email protected]> Thu, 07 Jul 2022 11:56:34 -0400
Newsgroups gmane.comp.lang.perl.par
Message-ID <[email protected]>
Thu Jul 07 11:56:33 2022: Request 143646 was acted upon.
Transaction: Correspondence added by [email protected]
       Queue: PAR-Packer
     Subject: Antwort: Problem using Win32::TieRegistry in script packed wi=
th pp on Windows [rt.cpan.org #143646]
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: [email protected]
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=3D143646 >


Hi Roderich,
I had a look in the decomressed modules and inserted some debug messages=20
to see what happens. There is a piece of code in Win32::TieRegistry:

if ( eval { require Win32::WinError } ) {
    $_NoMoreItems  =3D Win32::WinError::constant("ERROR_NO_MORE_ITEMS",0);
    $_FileNotFound =3D Win32::WinError::constant("ERROR_FILE_NOT_FOUND",0);
    $_TooSmall     =3D=20
Win32::WinError::constant("ERROR_INSUFFICIENT_BUFFER",0);
    $_MoreData     =3D Win32::WinError::constant("ERROR_MORE_DATA",0);
} else {
    $_NoMoreItems  =3D "^No more data";
    $_FileNotFound =3D "cannot find the file";
    $_TooSmall     =3D " data area passed to ";
    $_MoreData     =3D "^more data is avail";
}

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

It is working when I add the module Win32::WinError by

pp -o regtest.exe -M Win32::WinError regtest.pl

That's it.

Bye and thanks a lot.
Gr=C3=BC=C3=9Fe
Torsten


----------------------------------------------------------------------

Dr. Ing. Torsten Werner  |  Product Manager plan.assyst
E-Mail:    [email protected]

Assyst GmbH  |  Max-Planck-Str. 3  |  85609 Aschheim-Dornach
Registration / Eintragung beim Amtsgericht M=C3=BCnchen: HRB 180174
Managing Director / Gesch=C3=A4ftsf=C3=BChrer: Hans Peter Hiemer, Dr. Andre=
as Seidl
www.assyst.de=20

----------------------------------------------------------------------




Von:    "Roderich Schupp via RT" <[email protected]>
An:     [email protected],=20
Datum:  07.07.2022 16:44
Betreff:        Problem using Win32::TieRegistry in script packed with pp=20
on Windows [rt.cpan.org #143646]



<URL: https://rt.cpan.org/Ticket/Display.html?id=3D143646 >

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=20
(installed via MSI installer)

Cheers, Roderich