uninno icon indicating copy to clipboard operation
uninno copied to clipboard

Windows: Can't read string length at ../Setup/Inno/FieldReader.pm line 85

Open riverar opened this issue 8 years ago • 8 comments

Installer version: 5507u Perl: ActiveState Perl 5, version 22, subversion 1 (v5.22.1) built for MSWin32-x86-multi-thread-64int Host: Windows 10 16257.rs_prerelease Stack:

Can't read string length at Setup/Inno/FieldReader.pm line 85.
 at Setup/Inno/FieldReader.pm line 85.
        Setup::Inno::FieldReader::ReadString(Setup::Inno::Struct5507u=HASH(0x614c424), 2) called at Setup/Inno/Struct5507u.pm line 70
        Setup::Inno::Struct5507u::TSetupHeader(Setup::Inno::Struct5507u=HASH(0x614c424)) called at Setup/Inno/Interpret.pm line 214
        Setup::Inno::Interpret::SetupHeader(Setup::Inno::Interpret5309=HASH(0x5bc502c), Setup::Inno::Struct5507u=HASH(0x614c424)) called at Setup/Inno.pm line 96
        Setup::Inno::Setup0(Setup::Inno=HASH(0x5aeb5ac)) called at Setup/Inno.pm line 135
        Setup::Inno::FileCount(Setup::Inno=HASH(0x5aeb5ac)) called at uninno.pl line 49

Sample: https://go.skype.com/desktop.preview.download

riverar avatar Aug 17 '17 18:08 riverar

Thanks, I'll look into it.

onitake avatar Aug 18 '17 10:08 onitake

I can list and unpack the installer perfectly fine on a Docker container running Debian Linux with Perl 5.26.0.

It's possible that Perl on Windows has some incompatibilities with the way uninno treats compressed data. I don't have a Windows system to test this on, so you'll have to rely on a proper Unix environment for the moment. I'm working on somewhat more compatible decompression code, but it's not ready yet. Sorry.

onitake avatar Aug 20 '17 19:08 onitake

I can confirm this works fine in Windows Subsystem for Linux, which is a decent workaround for Windows 10 users.

riverar avatar Aug 20 '17 19:08 riverar

I removed the dependency on Unix-style pipes and xz in the latest HEAD. Can you test if it works in Windows now?

Thanks!

onitake avatar Aug 24 '17 21:08 onitake

Did you push? 😄

riverar avatar Aug 24 '17 21:08 riverar

Wooops, I didn't. Sorry. :grimacing:

onitake avatar Aug 24 '17 21:08 onitake

If I keep the executable filename intact (with hyphens):

Use of uninitialized value $io in concatenation (.) or string at .../Win/Exe.pm line 33.
Can't open  at ../Setup/Inno.pm line 42.

If I rename executable to simple.exe:

Installer version: 5507u
Invalid CRC in block at ../Setup/Inno/Interpret4106.pm line 31.

riverar avatar Aug 24 '17 21:08 riverar

You mean it fails when the installer filename contains hyphens??? I cannot even imagine how this could be a problem...

Admittedly, there is a small bug here: The error should happen earlier, when the installer can't be opened. But I don't see why opening the installer should fail.

As for the CRC error, seems like something is not reading the data correctly. I verified with the installer you posted, and it still works fine on Linux.

Well, it was worth a shot. I'll keep the bug open, but no guarantees that it gets fixed. Thanks for the help!

onitake avatar Aug 25 '17 06:08 onitake