Tony Maro wrote:
Andrew Haines wrote:Tony Maro wrote:I've been working on a TZlibArchiveReader and TZlibArchiveWriter recently that uses paszlib so there are no external requirements. If you'd like to use it I'd be happy to email it to you.I'm in the middle of rewriting it to be more more flexible. So it will soon be something that anyone can use, not just the guy who wrote it ;-)I'm looking to possibly make it compatible with innosetup .iss files on a VERY basic level, so that it can be built on later to be more in-depth.I've developed an object system for the files that will be packaged that includes a header and file management system. The same unit can be used for both the packer and the extractor, and it will conditionally drop out all the code that isn't needed in the extractor. I'm considering NOT having built-in gzip support, but instead using exepak to compress the entire installer image once created. That should help reduce the footprint even more without requiring a working gunzip on the end-user's computer.Sounds interesting. I've used the gzio unit in FPC, but I've run into issues with the ansistring causing crashes after the application hits a certain size (about 2.5 MB stripped.) In my own build I changed gzio to use pascal strings (I could see no reason for ansistrings when passing the filename) and the crashing stopped. Unfortunately it only happens in a commercial app I'm developing, so I couldn't contribute the sources for other people to test. It has left me shy of using gzio / paszlib though.Can your components decompress directly in a memorystream, or from a memorystream to a filestream with ease? What the installer does is it rips the embedded file out of the install image into a memorystream, which then gets saved to disk during extraction.
My component is divided up into two components. One to write the archive formats and one to read the archive.
It uses the md5 unit as well to make md5's for every file contained in the archive. Also there are some error callbacks, and callbacks to follow compression and decompression progress, though I haven't tested them :)
I've attached the components and a simple test project also there are some docs in html.
I'm quite happy with this component that I made for one of my projects. It is LGPL
Andrew
zlibar.tar.gz
Description: GNU Zip compressed data
