Accessing Cabinet Files from .NET

One of the things that’s kept me busy the last month or so is a project to access Microsoft cabinet files from a .NET program.  I mentioned this in passing before.  It turns out that interfacing with CABINET.DLL from .NET is much more difficult than from C or Pascal, mostly due to calling conventions and string marshaling across the managed/unmanaged layer.

I’m now working on a three-part series of articles on this topic for DevSource.  The first article, Creating a CABINET.DLL Interface, is now available.  To my knowledge (and I looked pretty hard before taking on the project), this is the only published information about accessing cab files from .NET programs.