I have a custom workflow which requires a fair amount of setup before to be able to be used on the customers server, so I have created a feature that will setup the site, creating all the lists and install all the data connections on the site as well as installing the relevant InfoPath forms.
The feature I use for InfoPath templates:
<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
Id="D7C7B72F-09E6-4042-ACA4-F719B2EB363B"
Title="Workflow InfoPath Files"
Description="Deploys browser enabled InfoPath forms for the Workflow"
Version="12.0.0.0"
Hidden ="true"
Scope="Site"
DefaultResourceFile="ipfscore"
ReceiverClass="Microsoft.Office.InfoPath.Server.Administration.XsnFeatureReceiver"
ReceiverAssembly="Microsoft.Office.InfoPath.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" >
<ElementManifests>
<ElementManifest Location="element.xml"/>
<ElementFile Location="Form1.xsn"/>
<ElementFile Location="Form2.xsn"/>
<ElementFile Location="Form3.xsn"/>
<ElementFile Location="Form4.xsn"/>
etc.....
</ElementManifests>
<Properties>
</Properties>
etc........
This works fine however I have an issue with the InfoPath forms installation, I install the InfoPath forms in the feature, but this then prevents me from manually uploading updates to the forms in the SharePoint Central Administration Tool -> Application Management -> Manage Form Templates.
It says "The following form template cannot be upgraded because it is not currently uploaded on this farm: urn:....."
or
Form with the same identity urn... is already deployed on this farm.
Even though the form is clearly deployed and works on the site.
One of the reasons for using InfoPath is that the customer is able to update the InfoPath forms themselves at a later date and upload updates to their site.
Is there any other way around this problem or do I just have to put up with always deploying the InfoPath forms manually each time I need to deploy the project?