In InfoPath, make sure you set the following parameters to make the template browser compatible:-
- When creating a new template, in Design a From Template wizard, check the “Enable browser-compatible features only”.
- In Toosl->Form Options->Compatibility, make sure the checkbox that states “Design a form template that can be opened in a browser or InfoPath” is checked.
With that, if you try to publish the template to SharePoint using InfoPath publish feature , and if you have not configured sharepoint to browser-enable the form templates, you will get a warning message in the publishing wizard:-
This form template is browser -compatible, but it cannot be browser-enabled in the selected site.
Reason:
This may be caused by one of the followings:
- The Server is not running InfoPath Forms Services.
- The necessary features are not available on the site collection.
- The policy setting on the server does not allow to browser-enable form templates.
Solution:
You need to make sure that Sharepoint has been configured to browser-enable the form templates. Make sure that :
- InfoPath Forms Services or Forms Server 2007 has been installed on the server.
In SharePoint Central Admin, verify that InfoPath Forms Services group is present under Application Management.

- Form Services feature on the site collection is activated.
- The policy in Central Admin allows you to browser enable the form templates.
In Configure InfoPath Forms Services setting under Application Management, allow users to browser enable form templates.
With these settings configured, publish the form template again which should work fine.
From a sharepoint developer’s point of view, if you are interested in knowing how does InfoPath manage to publish these templates and browser-enabled it in sharepoint, here’s a way to see what’s happening behind the scene.
I use Fiddler, a web debugging tool, to monitor this. Just set the fiddler to capture data and start the process to publish InfoPath Form template to sharepoint, and you can see the web methods that InfoPath invokes during this process. Here are a couple snapshots with key operations during publishing of a browser compatible form template .
The implementation is in the assembly “Microsoft.Office.InfoPath.Server.dll” located in “C:\Program Files\Microsoft Office Servers\12.0\Bin” folder. You can use a reflector to look at the implementation of the operations.
So, along with FormsServices web service, you can programatically browser-enable the form template in sharepoint using this assembly in your the project, provided it runs in the sharepoint machine and meets the requirements stated above.



