Some years ago, back in the DOS days, Microsoft had a technology for creating structured file storage. It allowed a developer to create a single, compiled file that contained a data hierarcy similar to MS-DOS, with folders and nodes. I have a few projects on the back burner where that kind of single file organization would be useful and I'm wondering if that technology (or something similar) still exists and is useable within .Net.
I have thought of using XML, but that is unsuitable for two reasons. First, the data to be stored is potentially large and binary, which could make XML encoding awkward. Second, I like the idea of a compiled, compressed and optimized format, which would prevent people from directly altering the file itself.
Any suggestions, or should I plan on rolling my own file structure?