摘要: 最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013。本记录旨在记录升级过程中的一般性准备工作及在升级中可能存在的各种坑的解决方案。本记录会大量引用外部文章来作为解释说明,并不是一个step by step的指引,本文章并不适合小白用户而适合具有一定IT管理经验的人阅读。另外本文也并不保证完全正确。
本篇是我在升级过程中正好遇到的一个问题。
需求
Infopath中通常使用了各种数据源,这些数据源本身都有URL,这些URL如何快速的改掉。
示例
2. 连接到SharePoint列表的数据源,URL仍然是【http://reports.msfunds.com.cn】
3. 发布的路径,仍然为【http://reports.msfunds.com.cn】
我遇到的一个场景,即在我将站点从SharePoint 2010升级到SharePoint 2013的过程中,我准备将所有的站点集从长域名改成短域名。也即我希望将所有的URL从【http://reports.msfunds.com.cn】更改为【http://reports】。
传统的更改方式
传统的更改方式即一个一个的单独修改数据源和所有涉及URL的地方。但是这样会存在一个很严重的问题,就是我们需要重新设置所有数据源的参数,比如Web Services的方法参数,这些参数以前设置的是什么值我可能已经不记得了,而且重新设置每一个地方显然也过于麻烦。
更方便的方式
我采取了一个更为简便的方法,众所周知,Infopath实际上是一个cab文件,在cab文件里面则是一堆xml文档。所以我打算直接更改里面的xml文档来解决此问题。
具体步骤
2. 打开里面的manifest.xsf文件,然后将所有的【http://reports.msfunds.com.cn】替换成【http://reports】,所有的URL都位于manifest.xsf里面。然后保存此文件。
3. 将这一大堆文件重新压缩回cab文件。我们可以使用自带的IExpress工具。
1) 点击【下一步】,选择【Create compressed files only [ActiveX Installs]】,然后点击【下一步】。
2) 点击【Add】,添加上所有的那一堆文件。然后点击【下一步】
3) 选择好存储的路径,然后记得选中【Store files using Long File Name inside Package】,如果不选择这一项,那么文件都会变成短命名,就会出错。然后点【下一步】。
4) 这一步可以选择【Don’t save】,点击【下一步】
5) 将生成的CAB文件的扩展名再改回XSN,一切就OK了。
实际上你还可以用命令行 工具makecab.exe来做同样的事情,但是makecab.exe不能直接压缩一堆文件,你还要先准备一个文件列表的描述文件,这未免过于麻烦,所以使用GUI工具有时更加方便。这样都做完后,再重新用Infopath打开,就发现所有的路径已经更改完毕了。