[AccessD] Handle Zip and Cabinet folders (files)

Gustav Brock gustav at cactus.dk
Thu Nov 9 03:48:06 CST 2017


Hi Jim

No, I haven't studied Microsoft containers. It is on my to-do list somewhere, but time is so limited and I have no urgent need for this technique.

Cabinet files are very old - back to the DOS age. If you browse one of the old install diskettes, you'll see all those .EX_, .DL_, etc. files ending with an underscore. The purpose was twofold. First to compress files, second to combine the resulting files in chunks to fit on as few diskettes (later also cd-roms) as possible.
The makecab utility can also generate a complete setup with inf and setup files.

They can use two compression methods: LZX or (MS)ZIP. Using the last doesn't make it a zip file though. My function can use either. For simplicity, the methods are named High and Low (compression).

You can read all about it here (long story):

https://msdn.microsoft.com/en-us/library/bb267310.aspx

Your link to GiHub seems to indicate, that InstallShield uses cabinet files with MSZIP compression. If your library only supports LZX compression, such files are, of course, a challenge. A decompress utility should be able to extract both types.

/gustav


-----Oprindelig meddelelse-----
Fra: AccessD [mailto:accessd-bounces at databaseadvisors.com] På vegne af Jim Lawrence
Sendt: 8. november 2017 21:36
Til: Access Developers discussion and problem solving <accessd at databaseadvisors.com>
Emne: Re: [AccessD] Handle Zip and Cabinet folders (files)

Hi Gustav:

Have you had a chance to study Microsoft containers?
https://blogs.msdn.microsoft.com/webdev/2017/09/07/getting-started-with-windows-containers/
http://bit.ly/2zscGcd

I am not sure what a cabinet file is and why it is needed. I am sure there is a Linux equivalent type file structure needed in certain circumstances but I need a description of a CAB file's attributes. It does seem that someone has a Github and appropriate open source algorithm for download and use. The code appears to have been written in C, so in theory it could be run on any system. The attached library file could be a problem though:
https://github.com/twogood/unshield

Jim

----- Original Message -----
From: "Gustav Brock" <gustav at cactus.dk>
To: "Access Developers discussion and problem solving" <accessd at databaseadvisors.com>
Sent: Wednesday, November 8, 2017 8:28:19 AM
Subject: Re: [AccessD] Handle Zip and Cabinet folders (files)

Thanks Jim.

As for Linux, I don't know. I don't even have a Linux box to test with.
But I doubt it, except if you have Wine in mind.

For zip files, there must exist a bunch of similar code for Linux. 
The cabinet files though, is a tough one. I wonder if they even exist in the Linux world?

/gustav

-----Oprindelig meddelelse-----
Fra: AccessD [mailto:accessd-bounces at databaseadvisors.com] På vegne af Jim Lawrence
Sendt: 8. november 2017 17:16
Til: Access Developers discussion and problem solving <accessd at databaseadvisors.com>
Emne: Re: [AccessD] Handle Zip and Cabinet folders (files)

Hi Gustav:

A very fine piece of work...impressive. Additionally, the documentation is a thing of beauty. :-)

Aside: I wonder if the app can be made to run on a Linux box? Can you put it into a container? ;-)

Jim

----- Original Message -----
From: "Gustav Brock" <gustav at cactus.dk>
To: "Access Developers discussion and problem solving" <accessd at databaseadvisors.com>
Sent: Wednesday, November 8, 2017 6:11:38 AM
Subject: [AccessD] Handle Zip and Cabinet folders (files)

Hi all

Should you wish to zip/unzip or compress/decompress zip or cabinet folders (files), I've put up functions for this at Experts Exchange:

    Zip and unzip files and folders with VBA the Windows Explorer way
    https://www.experts-exchange.com/articles/31130/Zip-and-unzip-files-and-folders-with-VBA-the-Windows-Explorer-way.html

    Handle cabinet files and folders with VBA the Windows Explorer way
    https://www.experts-exchange.com/articles/31144/Handle-cabinet-files-and-folders-with-VBA-the-Windows-Explorer-way.html

Code is also at GitHub: https://github.com/GustavBrock/VBA.Compress.git

I used the old trick from Stuart to create a zip folder - thanks!

/gustav 



More information about the AccessD mailing list