Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Slower than pouring treacle up a hill in January..

Sign in to follow this  


I've been working on the 7z archive handler, as its really the last stumbling major block on getting the current version of the builder out. Everything after that is either a variation of what already exists, or bug fixes.

Since managed handlers for the 7z format seem to be non-existant, I had decided that I would end up having to write my own. After a couple of false starts (incorrect downloads, wrong code, trying to figure out what the heck was what), I finally managed to get my hands on the unmanaged dll, and its source code.

So, at the moment, my options are:

  • attempting to rewrite the dll as native C# code

  • compiling 7za.dll to managed code and working from there, or

  • leaving it as it is and working with the unmanaged code through DllImport statements

Since what I am working on now is more of a proof of concept builder than anything else, I think the first one is out of the question. The second sounds like more trouble than its worth at the moment.

The third sounds like my best bet at the moment (well, actually abandoning 7z for a different format sounds better, but I'm still attracted by the high compression rates that the LZMA algorithm offers when combined with the format). However, Igor doesn't seem to believe in commenting or documenting his code. Answers to questions tend to be along the lines of "You can find a small example in the source code", or "read the 7zFormat.txt file". So here's me with the task of trawling through the C++ code, again, trying to find what methods do what, what ones I will be needing, and what ones I can leave behind, again.

In future, before I settle on a library, I think I'm going to pay a little more attention to what the documentation is like. if there is a plus side to be had, at least I'll have a better understanding of where to begin when it comes to taking care of this aspect of the installer client.

If anybody needs me, I'm going to put my head down in a dark room for a while...
Sign in to follow this  

1 Comment

Recommended Comments

Guest Anonymous Poster


I'm on the same way, pal, succeeded with Zip and Rar DLLs but failed with 7z. Same reasons that you said. Good luck!

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!