Link to home
Start Free TrialLog in
Avatar of TimYates
TimYatesFlag for United Kingdom of Great Britain and Northern Ireland

asked on

The Great com.ms.util.cab.* Hunt...

Hi there...  

I was about 80% through writing my CAB extractor, when I read about the Microsoft AFC com.ms.util.cab.* classes.

Annoyingly, though JBuilder seems to claim they exist in the IDE, yet compiling it reveals they do not exist...

I know this is a long shot, but does anyone know of a copy of the AFC classes (just the cab ones) floating around somewhere on the web?

And probably a longer shot...  Anyone seen any documentation? ;-)  

Currently I have interfaces full of debug to try and work out what's going on (assuming I can get it to compile of course) ;-)

Right...back to the hunt!

Tim.
Avatar of Webstorm
Webstorm

can you not just call EXTRACT.EXE ? every microsoft operating system has this for extracting cabs, plus you must consider that the microsoft jar and java packages arent guaranteed to be cross-platform compliant (it's why sun won their court case against microsoft)

also, you probably have to own some microsoft java software before youre licenced to use and distribute these classes..

if you dont have extract (my xp sp2 doesnt appear to have it, strangley enough) you can download it from here:
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/extract-o.asp

again, youre probably not allowed to distribute it, but as its a free download, you can make it a requirement of the installation
Avatar of TimYates

ASKER

>> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncabsdk/html/cabdl.asp

That's a page to download the CAB specification documents (and example code)

I've done that (as I have 80% of my own CAB extractor written)

>> http://xavprods.free.fr/lzx/

That's a page which provides LZX compression related downloads (and points to the 1st link), and says that com.ms.util.cab.* exists in the AFC classes, but provides no link for them...

>> http://mikebultrowicz.com/software/cvs/BCTubby/src/chmlib/lzx.c?rev=1.1&sortby=rev&content-type=text/vnd.viewcvs-markup

That's a C implementation of a CAB extractor with the LZX compression fixed (as they discovered the com.ms.util.cab version did things right, and the documentation in the first link was wrong)

None of them help... :-(
>>  can you not just call EXTRACT.EXE ? every microsoft operating system has this for extracting cabs

I am on Linux :-(

>> plus you must consider that the microsoft jar and java packages arent guaranteed to be cross-platform compliant

Good point...  This may be true...but there is no documentation one way or another...

With a copy of the classes, I could find out ;-)

Tim
This link is not about Microsoft AFC com.ms.util.cab, but this source code can read cab file.
http://cvs.winehq.com/cvsweb/wine/dlls/cabinet/cabextract.c?rev=1.10 
>> but this source code can read cab file.

I don't fancy compiling that up on every platform and using JNI though :-(

Though the "quantum" decrunch routines may be useful...  

Currently, my code only supports MSZIP compression...
See this: http://3d2f.com/programs/2-666-extractor-download.shtml

It says: Extractor 1.1 - Simple application to extract ZIP, GZIP, JAR and TAR archive files. Platform independent due to pure Java technology. Help included. Freeware. Java VM required.

There's also something here: http://www.sharewareconnection.com/titles/java-archive.htm
>> See this: http://3d2f.com/programs/2-666-extractor-download.shtml

The requested URL /dload/gzex.jar was not found on this server.

:-(

>> There's also something here: http://www.sharewareconnection.com/titles/java-archive.htm

The requested URL /dload/gzex.jar was not found on this server.

:-(
SOLUTION
Avatar of Mayank S
Mayank S
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
From:  http://www.calcom.de/

--------

 Thank you for visiting www.calcom.de
 The Calendar Computing web site has been discontinued. Some parts have moved to Light Development as shown below. Please use the links to continue...

--------

There's nothing about this cab thing on the "Light Development" pages...

It's dead and buried that library :-(

Looks like I'm back to finishing off the 20% of my code ;-)
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
>>  They should come with the MS VM, have a look in WINNT\java\Packages

Ooooh...  You're not wrong!  

They're in wjtvnhfr.zip

what a pretty name for a file...

Gonna try them out...  brb
>> have a look in WINNT\java\Packages
com.ms.util.cab in Q5JZ5FNX.ZIP
I also found in H3PJX3XR.zip :)
Woo!  It compiles!!

But:

    Exception in thread "main" com.ms.util.cab.CabException: Spanned cabinets not supported

LOL

That's why I was writing my CAB parser...  *sigh*

Oh well, back to the code :-)

Thanks everyone :-)

And I'm going to mail that bloke from calcom.de
 
Tim
And I don't have wjtvnhfr.zip or Q5JZ5FNX.ZIP in my Windows\java\Packages folder. I guess those are auto-generated names.
>> Thanks everyone :-)

still forgotten