I am writing a plugin for a .NET based CMS and I want to unpack a tree of javascript, CSS and image files when it runs for the first time. Because I want to ship just a single dll, I was going to zip up those directories and store them as a resource. Then when the plugin runs, it checks to see if the requisite files exist, and if not, it will unpack them.
I know resources are "flat", in that you can't set up a directory structure, so some form of packing is the only way I can see to do it.
The question is, firstly, is this an acceptable thing to do and secondly, are there any libraries built into .NET to allow me to do this? I am thinking I may have to use GZip rather than Zip if I want to use built-ins, but is there a preferred way to do what I'm trying to achieve?
Just to add something to the question - I'm aware that a common scheme is to use .tar.gz, which I'm currently doing at the moment. But for some reason this strikes me as sub-optimal, since I have to import external libraries in order to work like this. I figured this might be a common enough thing to do that there'd be a one or two-liner way to do it natively.