Deploying InfoPath forms as part of a feature and updating issue
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 t开发者_StackOverflow社区he 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?
Forms deployed via features can not be upgraded by themselvs. This is restrictions on both workflow forms "urn:..." and regular administrator approved forms. Only XSNs that are directly deployed via commandline/OM/PowerShell can be upgraded.
You can either:
- upgrade whole feature to install new forms
- install forms manually or from your custom script. As far as I remmeber you can't manually install forms for workflows (ones with names like "urn:...").
- copy and "browser enable" XSN to a site (non-admin deployment) as part of your feature activation. This will let customers to update forms, again by default such forms can't be used as workflow forms.
- in SharePoint 2010 use new type of workflow InfoPath forms that are deployed as part of a feature but instead of beeing installed as "urn:...." form they are copied to the site and can be updated by end user if needed.
精彩评论