系统升级日记(4):如何快速的修改Infopath中的各种URL
摘要: 最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013。本记录旨在记录升级过程中的一般性准备工作及在升级中可能存在的各种坑的解决方案。本记录会大量引用外部文章来作为解释说明,并不是一个step by step的指引,本文章并不适合小白用户而适合具有一定IT管理经验的人阅读。另外本文也并不保证完全正确。
本篇是我在升级过程中正好遇到的一个问题。
需求
Infopath中通常使用了各种数据源,这些数据源本身都有URL,这些URL如何快速的改掉。
示例

- 调用Web Services的数据源。URL以【http://reports.msfunds.com.cn】开头

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文档来解决此问题。
具体步骤
- 将XSN文件的扩展名更改为CAB。然后解压缩。提取出来的文件类似如下:

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打开,就发现所有的路径已经更改完毕了。
系统升级日记(4):如何快速的修改Infopath中的各种URL的更多相关文章
- 如何快速批量修改ArcGIS中的图层设置
在ArcGIS中作图的时候,我们通常需要设置图层的颜色和粗细.点击图层的颜色,会跳出以下符号选择器: 右侧即可修改我们需要的属性. 但是我们有多个类似的属性如何修改成统一的样式呢? 鼠标图层右键,选择 ...
- 系统升级日记(3)- 升级SharePoint解决方案和Infopath
最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记录旨在记 ...
- mysql常用快速查询修改操作
mysql常用快速查询修改操作 一.查找并修改非innodb引擎为innodb引擎 # 通用操作 mysql> select concat('alter table ',table_schema ...
- 如何快速关联/修改Git远程仓库地址
如何快速关联/修改Git远程仓库地址?按照如下步骤即可快速实现关联/修改Git远程仓库地址: 删除本地仓库当前关联的无效远程地址,再为本地仓库添加新的远程仓库地址 git remote -v //查看 ...
- 【HOW】在InfoPath中如何为浏览和编辑模式设置不同的视图
1. 在SharePoint Designer中打开要自定义视图的列表.并点击菜单:列表设置 > 在 InfoPath 中设计表单 > {要自定义表单的内容类型},则会自动打开InfoPa ...
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- windows中安装模拟器后修改模拟器中的hosts方法
1.背景 有的时候我们测试安卓的app需要绑定hosts,这个时候我们如果只是修改PC机器上的hosts,然而在模拟器中并不生效.这个时候我们就需要修改模拟器中的hosts. 模拟器中的hosts为只 ...
- 利用pandas库中的read_html方法快速抓取网页中常见的表格型数据
本文转载自:https://www.makcyun.top/web_scraping_withpython2.html 需要学习的地方: (1)read_html的用法 作用:快速获取在html中页面 ...
- 152-技巧-Power Query 快速合并文件夹中表格之自定义函数 TableXlsxCsv
152-技巧-Power Query 快速合并文件夹中表格之自定义函数 TableXlsxCsv 附件下载地址:https://jiaopengzi.com/2602.html 一.背景 在我们使用 ...
随机推荐
- oracle11G使用DGbroker创建dg
1.环境: a.主机环境:centos6.5 b.软件环境:oracle 11.2.0.4 c.主机信息: DG1:192.168.100.51(数据库sid:atest) DG2:192.168.1 ...
- JavaScript 产生指定范围随机数
function selectFrom(lowerValue, upperValue) { var choices = upperValue - lowerValue + 1; return Math ...
- viso2010从mysql中导出ER图
mysql connector 下载地址: http://dev.mysql.com/downloads/connector/odbc/5.1.html 首先机器要安装mysql-connector- ...
- C语言中链表任意位置怎么插入数据?然后写入文件中?
链表插入示意图:(图是个人所画)因为链表指针指来指去,难以理解,所以辅助画图更加方便. 插入某个学号后面图: 定义的结构体: struct student { ]; //学生学号 ]; //学生姓名 ...
- myeclipse优化
myeclipse优化 http://blog.163.com/cayyenne@126/blog/static/12186261420100611546658/
- LaTeX字体相关
以下内容均来自网络. 字体命令: 相应的字体声明都有相应的字体命令 family: \textrm{文本} \texttt{ } \textsf{ } shape : \textup{文本} \ ...
- javaSE ---OOP总结
面向对象编程(Object Oriented Programming,OOP)是当前最主流的编程范式之一,Java是一门纯面向对象的编程语言.我们常说C++是一门面向对象的编程语言,C++是C语言的一 ...
- 1.使用using释放资源
using语句有二个关键字 >>作为关键字,using可以导入命名空间 >>作为C#语句,using可以释放对象占用的内存资源 语法: using(SqlConnection ...
- BZOJ 1101: [POI2007]Zap
1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2262 Solved: 895[Submit][Status] ...
- C#实现php的hash_hmac函数
from:http://blog.csdn.net/ciaos/article/details/12618487 PHP代码示例如下 <?php $res1 = hash_hma ...