Share

TurboPower Abbrevia

Subscribe

Extract File to Stream from a Cab

You are viewing a single message from this topic. View all messages.

  1. 2009-11-09 00:03:33 UTC

    Touri,

    I added ExtractToStream support for CABs. Zip, tar, and gzip already supported it, as well as CreateFromStream and AddFromStream. CAB doesn't currently support either of those because the DLL's API doesn't map to it well. CreateFromStream should work for both reading an existing archive as well as creating a new one. There are some fixes for that in Subversion that weren't in the last 3.05 beta release.

    I'm aware of a few limitations in the current code:

    • AddFromStream forcibly saves the archive when it's called, even if AutoSave is false, so it's inefficient when adding multiple streams.
    • Loading from one stream and saving to another in a single archive isn't supported. That is, if you have a read-only stream with an existing archive and you want to add a file and save the results to a new stream you need to copy it to a temp stream that Abbrevia can modify and then copy it to the destination stream after saving.
    • The input stream must support random access.

    .
    The first two of those issues, and the CAB limitations, are fixable with some effort, though they might require changing the class interfaces. I've given them lower priority for now, in favor of bug fixes, a new release, and support for newer zip features, but I can switch things around if needed.

    Craig

< Previous | 1 | Next >

Add a Reply

This forum does not allow anonymous participation.

Log in to add a reply. Not registered? Create an account to participate and receive email updates when replies are posted to this topic.