Infopath表单部署到Farm的方法

加入Infopath表单模板包含了代码,部署到Farm中需要一些特殊的步骤,具体如下两种方式:代码、PowerShell形式 

代码形式

http://nader.elshehabi.com/2011/08/how-to-really-deploy-infopath-2010-forms-with-code-behind-as-a-feature/

http://sandeepnakarmi.com.np/2011/03/sharepoint-solution-to-deploy-infopath-form-template-as-administrator-approved-form-template/

PowerShell形式

为了方便使用,可以采用如下的形式

dp.bat s 安装表单

dp.bat a 激活表单

dp.bat r 删除表单

根据自己的站点和表单名称修改dp.bat的对应名称即可,具体内容如下:

dp.bat

@echo off
setlocal enabledelayedexpansion
cls

if ""%1"" == """" goto done

rem 模板名称和站点集
SET SiteUrl=http://demo
set FormName=工作单.xsn
SET FormPath=%~dp0工作单.xsn

::echo %SiteUrl%
::echo %FormName%
::echo %FormPath%

if %1 == s (
  echo 模板的安装
  powershell -Command "& {.\SetupForm.ps1 %FormPath%}" -NoExit
)

if %1 == a (
  echo 模板激活到站点集

  powershell -Command "& {.\ActiveForm.ps1 %SiteUrl% %FormName%}" -NoExit
)

if %1 == r (
  echo 模板的删除
  rem 是否删除在管理中心查看
  rem http://localhost:1513/_admin/ManageFormTemplates.aspx
  rem http://localhost:1513/_admin/Timer.aspx

  powershell -Command "& {.\RemoveForm.ps1 %SiteUrl% %FormName%}" -NoExit

)

:done

pause

SetupForm.ps1

Write-Host "Num Args:" $args.Length;
#foreach ($arg in $args)
#{
#  Write-Host "Arg: $arg";
#}
#$SiteUrl = $args[0]
$Form = $args[0]

# check to ensure Microsoft.SharePoint.PowerShell is loaded
$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}
if ($snapin -eq $null) {
Write-Host "Loading SharePoint Powershell Snapin"
Add-PSSnapin "Microsoft.SharePoint.Powershell"
}

Test-SPInfoPathFormTemplate -Path $Form
Install-SPInfoPathFormTemplate -Path $Form

ActiveForm.ps1

Write-Host "Num Args:" $args.Length;
#foreach ($arg in $args)
#{
#  Write-Host "Arg: $arg";
#}
$SiteUrl = $args[0]
$Form = $args[1]

# check to ensure Microsoft.SharePoint.PowerShell is loaded
$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}
if ($snapin -eq $null) {
Write-Host "Loading SharePoint Powershell Snapin"
Add-PSSnapin "Microsoft.SharePoint.Powershell"
}

Enable-SPInfoPathFormTemplate -Identity $Form -Site $SiteUrl

RemoveForm.ps1

Write-Host "Num Args:" $args.Length;
#foreach ($arg in $args)
#{
#  Write-Host "Arg: $arg";
#}
$SiteUrl = $args[0]
$Form = $args[1]

# check to ensure Microsoft.SharePoint.PowerShell is loaded
$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}
if ($snapin -eq $null) {
Write-Host "Loading SharePoint Powershell Snapin"
Add-PSSnapin "Microsoft.SharePoint.Powershell"
}

Disable-SPInfoPathFormTemplate -Identity $Form -Site $SiteUrl
Uninstall-SPInfoPathFormTemplate -Identity $Form

时间: 2024-09-15 11:41:26

Infopath表单部署到Farm的方法的相关文章

用代码访问InfoPath表单内容

表单是MOSS的一个很重要的特性,特别是有了Form Services的支持后,我们在做表单解决方案的时候,经常会用到Infopath, 那么如何使用代码访问保存于SharePoint表单库中的InfoPath表单的内容,是必需知道的. 总结了下,有如下3种方式可实现代码对表单内容的访问: 1.提升表单模板属性 2.通过XmlDocument 对象对表单文件操作 3.反序列化表单数据架构 接下来,分别简单谈谈这3种方法的简单实现步骤 第一种方式: 提升表单模板属性表单操作: 在设计完表单模板,执

sharepoint-关于INFOPATH 表单的问题

问题描述 关于INFOPATH 表单的问题 兄弟的oa 系统是垃圾的SHAREPOINT2010 ,使用infopath 做表单.可是出现一个问题无法解决,就是如下图. 哪位高手可以给我指点啊,我百度,google 都无能为力了. 查询后台的log 日志如下: 08/20/2015 11:22:15.62 w3wp.exe (0x1DB4) 0x1244 InfoPath Forms Services Administration 82fk Warning Exception occurred

js光标定位文本框回车表单提交问题的解决方法

  本文实例讲述了js光标定位文本框回车表单提交问题的解决方法.分享给大家供大家参考.具体分析如下: 当光标定位在辅助查找的文本框后回车,页面会出现方法的返回的json串. 原因:When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form. 翻译一下:当form中只有一个

使用jquery将表单序列化为一个对象的方法

 将表单序列化为一个对象的方法有很多,在本文为大家介绍下使用jquery是如何做到的,感兴趣的朋友可以参考下 代码如下: var aa=function(form){  var o={};  $.each(form.serializeArray(),function(index){  if(o[this['name']]){  o[this['name']] = o[this['name']]+","+this['value'];  }else{  o[this['name']] =

jQuery实现表单提交时判断的方法_jquery

本文实例讲述了jQuery实现表单提交时判断的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <input type="submit" id="myBtn" /> 换成: 复制代码 代码如下: <input type="button" id="myBtn" /> 使用: 复制代码 代码如下: $("#myBtn").click(function(){    ..

activiti自定义流程之整合(四):整合自定义表单部署流程定义

综合前几篇博文内容,我想在整合这一部分中应该会有很多模块会跳过不讲,就如自定义表单的表单列表那一块,因为这些模块在整合的过程中都几乎没有什么改动,再多讲也是重复无用功. 正因为如此,在创建了流程模型之后,模型列表的展示也是和之前的没有什么区别,而且都是很简单的后台查询以及前台展示,这一部分也就不过多的讲了. 模型列表页面如下:   至于其中的修改和删除也没什么多讲的,删除很简单,而修改也是activiti-modeler实现的主要功能,我们只需要跳转过去就行. 重要的部分在于部署,因为点击部署到

struts2.0-form表单通过struts2控制表单传值,写了onsubmit方法取不到值

问题描述 form表单通过struts2控制表单传值,写了onsubmit方法取不到值 <s:form action="login" namespace="/" onsubmit="return check()" > <table align="center" cellpadding="0" cellspacing="0" border="1">

form表单上传图片-提交给php方法,成功后想返回前台一些值,但前台始终无法获取到参数值。急!!!

问题描述 form表单上传图片-提交给php方法,成功后想返回前台一些值,但前台始终无法获取到参数值.急!!! form表单部分代码:以此来实现form提交页面不跳转. <form action="user.php" method="post" ENCTYPE="multipart/form-data" target="id_iframe"> <input name="upfile" ty

在jsp中提交form表单不能跳转进方法

问题描述 在jsp中提交form表单不能跳转进方法 我用的form表单提交的,jsp里 这样,js是function search(){ var myselec = $('#myselectHidden').val(); $.ajax({ type:'POST', data: {param:"myselec",isAll:"yes",param2:myselec}, url:'outQueryOption', success:function(data){ var