We have a SharePoint 2010 farm with numerous InfoPath forms on them. Some are admin approved because they have code. Some are simple. All of them publish just fine, except for one problematic form. The form publishes correctly the first time only -- will even create the fields if we ask it to. Every time we make a change and try to publish, it fails with the message that it cannot update the content type. The form is being published to a form library not as a content type, but apparently some comparison to the content type is still done.
We have found some great posts that were helpful, such as: http://doolbox.blogspot.in/2008/09/publishing-infopath-forms-updating.html and http://social.msdn.microsoft.com/forums/en-US/sharepointcustomizationlegacy/thread/35dd9e4d-4ab3-42ee-9394-5b958fe51bda. There is an elusive link to acuff.com that seems to have helped 90% of those who had this problem, but the page no longer exists.
We have tried:
- Reduce the number of fields that are promoted
- Delete the XSN from the libraries folder and republish
- Remove all promoted fields and adding them back
- Creating the list first and manually mapping fields
- Not mapping any fields at all
- Changing the timeout period in the Web.config file so that it will give it longer to publish
- We even changed the data connection timeout in the InfoPath settings as some people suggested even though we believe that is completely unrelated to publishing
We've double-checked to be sure our field names do not include any SharePoint "reserved words" that would cause a conflict
One thing to mention is that even though we are only promoting a handful of fields, our form does contain upwards of 150 fields in the form itself. The form contains multiple views and has a wizard-like interface, so that is the reason for all the fields. Like I said, the majority of them are stored in the XML only, but if there is indeed a row size limitation due to SQL Server, then maybe that is a culprit.
Any ideas would be greatly appreciated. If even someone had a good explanation of what happens behind the scenes when someone published a form template, that would be great. Thanks in advance.
On a test site, we changed the form to publish as a content type to see if that would help. It in fact did. We can publish and republish the form as often as we want now, but of course all of the columns were duplicated. This is not really an acceptable solution, because we have event receivers, views and so forth already associated with the original fields. However, we're hopeful it will offer an additional clue to anyone who may have an idea of what is happening.