将InfoPath表单部署为功能的一部分并更新问题

时间:2011-07-13 07:35:29

标签: sharepoint

我有一个自定义工作流程,需要相当多的设置才能在客户服务器上使用,因此我创建了一个功能,可以设置网站,创建所有列表并安装所有数据连接该站点以及安装相关的InfoPath表单。

我用于InfoPath模板的功能:

<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........

这很好但是我有InfoPath表单安装的问题,我在功能中安装InfoPath表单,但这阻止我手动上传更新到SharePoint管理中心工具中的表单 - &gt;应用程序管理 - &gt;管理表单模板。

它说“以下表单模板无法升级,因为它当前未在此服务器场上载: urn:.....

具有相同标识的表单 urn ... 已在此服务器场上部署。

即使表单已明确部署并在网站上运行。

使用InfoPath的一个原因是客户可以在以后更新InfoPath表单并将更新上传到他们的站点。

是否还有其他解决此问题的方法,或者我是否只需要在每次需要部署项目时手动部署InfoPath表单?

1 个答案:

答案 0 :(得分:0)

通过功能部署的表单无法通过themselvs进行升级。这是对工作流表单“urn:...”和常规管理员批准表单的限制。只能通过命令行/ OM / PowerShell直接部署的XSN升级。

你可以:

  • 升级整个功能以安装新表单
  • 手动或从自定义脚本安装表单。至于我记得你不能手动安装工作流的表格(名称如“urn:...”)。
  • 复制并“浏览器启用”XSN到站点(非管理员部署),作为功能激活的一部分。这将允许客户更新表单,默认情况下,此类表单不能用作工作流表单。
  • SharePoint 2010中的
  • 使用新类型的工作流InfoPath表单,这些表单作为功能的一部分进行部署,而不是安装为“urn:....”表单,而是将它们复制到站点,并且最终用户可以更新需要的。