In this series, I'll explain to you how to work programmatically with .xsn file in a very low-level manner. The main idea behind these articles is that on the web there are very few fragments of information regarding the subject. So let's start with the first part.
As we all know, InfoPath is an application for designing, distributing, filling, and submitting electronic forms containing structured data. But InfoPath is not only this simple, in fact, but you can also implement this form in every application developed by Microsoft! You can insert it into your Outlook mail, Access from, SharePoint from. You can add it everywhere, which was quite impressive. So this was the main reason to move from old .NET and Access forms to new InfoPath apps.
At first look (from the developer side) it's some strange .xsn format
For which there is very little information on the internet. But after some experimenting, it turns out that .xsn is a cab file with a changed extension. For those who don't know what a cab file is, I'll explain it. A cab file is a Windows native compressed file (something like a zip file) that contains more than one file. So when we rename the .xsn to .cab and try to open it, we get the following
screen:
So this was the basic information about the InfoPath forms and the elements from which the .xsn file consists.
In the next part, I'll give more information on how at the very low level we can check and fill a form from the code in the .xsn.