解决InfoPath 2007表单的部署问题 联系客服

发布时间 : 星期六 文章解决InfoPath 2007表单的部署问题更新完毕开始阅读8dc428f6ba0d4a7302763a29

解决InfoPath 2007表单的部署问题

Posted on 2007-06-06 09:25 Tony Qu 阅读(987) 评论(1) 编辑 收藏 所属分类: InfoPath

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

InfoPath生成的xml文件其实是标准的xml文件,无非加上了一个InfoPath的标签,如:

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

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

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

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

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

这样就可以在没有安装InfoPath的机器上通过IE浏览器查看InfoPath数据了,当然你得在abc.xslt里面做适当的xml数据转换。