Hi Matt,
Thanks for the kind reply.
While doing research on how I could solve this, I came across the following article:
http://www.angrycoder.com/article.aspx?cid=5&y=2001&m=3&d=23The class mentioned in the article has been removed however and so that was pretty much a dead end for me.
I am going to bookmark this thread just in case, but I think both of us have come to the same conclusion. It would seem that the only solution to this problem is to create our own CAB compression / decompression managed code library which is compatible with memory streams and isolated storage. I guess if there was an easier way to do this, one of us would have come across the solution by now.
I'm not sure whether the effort put in to implement the CAB codec algorithms will be worth the end result, but I will keep this in mind.
There is another question that I thought of. Say for arguments sake that we do get to the point where we successfully create the XSNs using Isolated Storage or Streams. How can we then sign the form or embed a certificate into the CAB in the same way as InfoPath does? Another algorithm will be required for this and it may or may not be proprietary (I haven't checked at all).
I'll keep you posted if I find anything.