in reply to Self Extracting Cabinet Files in Perl

On win32 systems, you might try just a system call to their expand.exe program.
system("expand source.cab destdir/");

Replies are listed 'Best First'.
Re: Re: Self Extracting Cabinet Files in Perl
by Ninthwave (Chaplain) on Nov 12, 2003 at 22:05 UTC

    I was trying not to actually expand the files but just to access the files in the cabinet. With Archive::Zip you can mount the zip file as a directory and traverse it. These files are .exe and self extracting so I wonder if expand might choke on them or try to run it. But I will give it a try though I am looking at cabextract and what the code tells me.

    "No matter where you go, there you are." BB
Re: Re: Self Extracting Cabinet Files in Perl
by Ninthwave (Chaplain) on Nov 13, 2003 at 12:07 UTC

    It appears that extract will error when faced with a self extracting cabinet file. If if the file properties show it as a cabinet file. I have also tried to use cabarc from the links submitted by Limbic~Region which also errors on self extracting cabinet files. I have now taken a plunge and am trying to use the Win32::API to access cabinet.dll. If WinZip can doit perl should be able to. I will post any frustrations, queries or successes in this node. But thnank you for the pointers it has again openned my eyes to the fact that Win32 Modules needed ported to POSIX systems and that Microsoft Standards are well always the same no matter how much they open them :( But we know this, why god oh why must we still have to face them on a daily basis just so the idiot two cubicles over can make a spreadsheet do simple math and call themselves a programmer.

    "No matter where you go, there you are." BB