最近开发一个小型的考勤系统,InfoPath2007 表单都快做完了,于是拿到同事那里打算测一下,在同事的机器上打开InfoPath2007的xml文件的时候报了一个错,说找不到form template,郁闷!回想起来,之前使用基于网络路径的方式部署,但选择了一个本地路径,所以当这些xml文件在其它机器上打开时,InfoPath会试图去寻找在我机器上的那个路径,找得到才怪!

InfoPath2007生成的xml文件其实是标准的xml文件,无非加上了一个InfoPath2007的标签,如:
<?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:Attendance:-myXSD-2007-05-31T02-02-21" href="file:///C:/tonyqus/other/publish/Attendance.xsn" PIVersion="1.0.0.0" solutionVersion="1.0.0.122" productVersion="12.0.0" ?><?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?>

在资源管理器中,之所以InfoPath的xml文件的图标与普通xml文件的不同也就是因为这个,如果把这段标签去掉的话,你会发觉图标就不是InfoPath文件的图标了,资源管理器无法识别出它是不是InfoPath文件。

看了一下相关资料,大部分都是说如何基于InfoPath Form Server或SharePoint来部署,这个成本太高了,自然不会考虑,不过还有一个选项即使用Installable form template(可安装表单模板),这个选项可以在发布向导中找到,但要注意如果要使用这个功能必须安装Visual Studio 2003或2005。

它会要求你填写公司名称和语言种类,这里的公司名称是有用的,最终的文件将被安装到%Program Files%/<公司名称>/<表单名称>/表单模板文件(.xsn)。不过接下来大家要注意一点,制作好安装文件之后现在自己机器上装一遍,然后用%Program Files%/<公司名称>/<表单名称>/目录下的模板文件来生成用于填写的表单,这样的话有一个好处,生成的文件头不会带有一个href标记,如下:

<?mso-infoPathSolution solutionVersion="1.0.0.135" productVersion="12.0.0" name="urn:schemas-microsoft-com:office:infopath:monthlyAttendance:-myXSD-2007-05-31T02-02-21" PIVersion="1.0.0.0" ?><?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?>

这样它就根本不会去找某个路径的monthlyAttendance模板,而是会让InfoPath负责查找,由于该模板已经由那个模板安装程序(msi)安装到InfoPath2007中,所以就可以轻易打开。对于部署而言,你唯一要做的就是让所有要用InfoPath2007打开这个表单的人安装那个可安装表单模板,其他就不用管了。

当然啦,如果你连安装也不想安装,还有一种方案,那就是用xslt。比如我们可以做一个叫做abc的xslt文件,然后我们可以在InfoPath2007的xml文件中加入xslt引用标签:

<?xml-stylesheet type="text/xml" href="abc.xslt">这样就可以在没有安装InfoPath的机器上通过IE浏览器查看InfoPath2007数据了,当然你得在abc.xslt里面做适当的xml数据转换。

原文地址:http://www.cnblogs.com/tonyqus/archive/2007/06/06/772432.html

解决InfoPath 2007表单的部署问题相关推荐

  1. 解决iphone填写表单时,表单项获取焦点时往下拉屏,导致顶部标题栏下滑错位...

    $(function () {//解决iphone填写表单时,表单项获取焦点时往下拉屏,导致顶部标题栏下滑错位var u = navigator.userAgent;var isiOS = !!u.m ...

  2. InfoPath 发布表单到SharePoint库报错

    InfoPath 发布表单到SharePoint库报错如下: 下列Web服务器未运行SharePoint 英文报错: The following web server does not appear ...

  3. 解决 php提交表单到当前页面,刷新会重复提交 的问题

    解决 php提交表单到当前页面,刷新会重复提交 的问题 参考文章: (1)解决 php提交表单到当前页面,刷新会重复提交 的问题 (2)https://www.cnblogs.com/walblog/ ...

  4. 解决谷歌浏览器form表单自动填充

    解决谷歌浏览器form表单自动填充 前言 取消谷歌浏览器form表单的填充 Promise的理解和用法 基于vue-element前端开发时,修改element-ui组件的样式 不说再见 前言 时间如 ...

  5. InfoJet Service,一个InfoPath Web表单产品

    InfoJet Service 是一个面向开发人员的用于将InfoPath表单发布到Web的.NET类库.整合了InfoJet Service的.NET Web应用程序可以支持用户在Internet ...

  6. 外部编辑Infopath的表单模板(xsn)

    我们都知道Infopath表单模板(xsn文件)其实是一个压缩包(cab格式的),我们可以通过winrar或者winzip等工具直接打开它,它里面至少会有五个文件 那么有没有什么办法直接编辑这些文件, ...

  7. 如何解决element ui 表单resetFields 的indexOf报错

    如图每个div包裹一个表单 每个表单都有清空表单的resetFields方法 第一个表单清空不报错 第二个及其他都报错了. 我们可以点击 去看看 由此可以知道这个方法的原理. 我们再去打印一下this ...

  8. 报错解决:form表单提交存入数据库出现中文乱码

    遇到问题:在JavaWeb学习阶段,通过表单提交对数据库数据进行修改,发现原本为中文字段的数据,表单提交之后都变成了乱码. 解决措施:针对form表单的请求方式修改编码格式 get和post请求的区别 ...

  9. java 重复提交_java解决重复提交表单

    在前端代码写一个随机数出来,把这个随机数放在两个地方,一个是session域对象中,一个是表单的隐藏域中.传到后台进行比对,根据这两个值是不是一致,一致的话不是表单重复提交,不一致就是表单重复提交.注 ...

  10. 【解决】LayUI表单验证,提交按钮在弹出层,lay-verify失效的情况

    layui的表单是我特别常用的一个功能,这次在写添加和修改界面时,也顺手将layui的表单界面放进去,想着等会利用layui自带的表单验证功能将用户输入的值进行一一验证,没想到遇到了如题目所描述的情况 ...

最新文章

  1. SAP WM 能否使用LT12去确认一个需要2-step法确认的TO单?
  2. 全文检索4.5查询语法
  3. 优化Linux系统中的服务
  4. 收益 or 挑战?Serverless 究竟给前端带来了什么
  5. android 字符串下标,android – 在TextView中为特定字符设置下标和上标?
  6. 如何通过Windows Server 2008 R2建立NFS存储
  7. hihocoder1089 Floyd算法
  8. 实践 + 理论 | API 接口安全性设计
  9. 从零开始学习jQuery-------jQuery元素选择器(三)
  10. 美团笔试题——正则序列
  11. 骗过70%的人!这个AI能自动给视频配音,真假难辨(不服来试)
  12. 转豆瓣--梁海棠尽管死了,但却占领了陈少杰的身心。乔燕尽管还…
  13. iPhone SDK开发基础之使用UINavigationController组织和管理UIView
  14. Java中的ConcurrentModificationException
  15. oracle 简单job
  16. 一个基于vue的时间轴轮播图插件
  17. Zabbix 邮件报警、钉钉报警、微信报警
  18. 五星好评点亮效果(精灵图)
  19. 一位牛人写的关于开关电源的啸叫原因经验,比较实用!
  20. 如何下载河西区卫星地图高清版大图

热门文章

  1. u盘启动怎么修复计算机,计算机黑屏怎么办 如何使用u盘启动制作系统
  2. 酒店短视频营销,是酒店获客引流的重点推广手段之一
  3. 如何通过简书引流(简书引流之标题的重要性)万能的小胡
  4. Python练习---turtle绘图之绘制天安门
  5. 常用颜色透明度色值表
  6. 华南植物园除夕牡丹花展 近万盆鲜花将亮相
  7. 简单Beautiful Soup教程
  8. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。
  9. 【新书推荐】Interpretable Machine Learning with Python
  10. 隔壁老王|亲述,我的运维心路历程