We have SharePoint 2013 testing and production environments. A site in the test environment has a form library with template, some workflows, and some forms. The same template and workflows are applied to a form library in the production environment. A certain workflow results in an email being sent which contains a link to that form ([%Current Item:Encoded Absolute URL%]); so link points directly to the form .xml file.
When the link from the email from the test system is opened via Internet Explorer, the form is displayed in the browser. When the link from the email from the production system is opened via Internet Explorer, the user is prompted to download the .xml file to fill out and submit viq InfoPath Filler. To be clear, this differing functionality happens on the same machine, same installation/configuration of IE. The links appear syntactically identical. So I naturally suspect a server setting.
I have spent a good piece of the day researching this. These were some of the more useful sources I found.
- link of a email to infopath form to open in browser
- Use Query Parameters to Invoke Browser-Enabled InfoPath Forms
- Fill out InfoPath forms via the browser vs. InfoPath Filler
I was able to narrow down that the issue is only occurring in environments where InfoPath is installed, and when Internet Explorer is the browser being used. Otherwise the form always opens in the browser as we want.
Things I've verified:
- Adding "?OpenIn=Browser" to the link will force IE to open the link in the browser. But the emails sent from the test environment don't require this; leading me to think it's server-configuration based and that I can do something else.
- The form library has the "Opening Documents in the Browser" setting set to "Open in Browser" in production - but IE still prompts to download the .xml.
- The Site Settings have the site collection feature "Open Documents in Client Applications by Default" deactivated.
- The InfoPath form itself is a "Web Browser Form," so should be (and is) render-able in a browser window.
I've also looked at similar questions here on SO, such as Get a SharePoint InfoPath form to load in the browser from a task, but haven't found the key yet.
I've found a number of references to this issue in SharePoint 2007-2013, with most people suggesting to just add "?OpenIn=Browser" or some other query string parameter to the link. So I have a workaround - but one environment works, and the other doesn't, and I'd really like to nail down what the actual issue is.