摘要: 最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013。本记录旨在记录升级过程中的一般性准备工作及在升级中可能存在的各种坑的解决方案。本记录会大量引用外部文章来作为解释说明,并不是一个step by step的指引,本文章并不适合小白用户而适合具有一定IT管理经验的人阅读。另外本文也并不保证完全正确。

本篇是我在升级过程中正好遇到的一个问题。

需求

Infopath中通常使用了各种数据源,这些数据源本身都有URL,这些URL如何快速的改掉。

示例

  1. 调用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文档来解决此问题。

具体步骤

  1. 将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的更多相关文章

  1. 如何快速批量修改ArcGIS中的图层设置

    在ArcGIS中作图的时候,我们通常需要设置图层的颜色和粗细.点击图层的颜色,会跳出以下符号选择器: 右侧即可修改我们需要的属性. 但是我们有多个类似的属性如何修改成统一的样式呢? 鼠标图层右键,选择 ...

  2. 系统升级日记(3)- 升级SharePoint解决方案和Infopath

    最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记录旨在记 ...

  3. mysql常用快速查询修改操作

    mysql常用快速查询修改操作 一.查找并修改非innodb引擎为innodb引擎 # 通用操作 mysql> select concat('alter table ',table_schema ...

  4. 如何快速关联/修改Git远程仓库地址

    如何快速关联/修改Git远程仓库地址?按照如下步骤即可快速实现关联/修改Git远程仓库地址: 删除本地仓库当前关联的无效远程地址,再为本地仓库添加新的远程仓库地址 git remote -v //查看 ...

  5. 【HOW】在InfoPath中如何为浏览和编辑模式设置不同的视图

    1. 在SharePoint Designer中打开要自定义视图的列表.并点击菜单:列表设置 > 在 InfoPath 中设计表单 > {要自定义表单的内容类型},则会自动打开InfoPa ...

  6. Map java中的map 如何修改Map中的对应元素

    Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象.         Map的接口         Map ...

  7. windows中安装模拟器后修改模拟器中的hosts方法

    1.背景 有的时候我们测试安卓的app需要绑定hosts,这个时候我们如果只是修改PC机器上的hosts,然而在模拟器中并不生效.这个时候我们就需要修改模拟器中的hosts. 模拟器中的hosts为只 ...

  8. 利用pandas库中的read_html方法快速抓取网页中常见的表格型数据

    本文转载自:https://www.makcyun.top/web_scraping_withpython2.html 需要学习的地方: (1)read_html的用法 作用:快速获取在html中页面 ...

  9. 152-技巧-Power Query 快速合并文件夹中表格之自定义函数 TableXlsxCsv

    152-技巧-Power Query 快速合并文件夹中表格之自定义函数 TableXlsxCsv 附件下载地址:https://jiaopengzi.com/2602.html 一.背景 在我们使用 ...

随机推荐

  1. mysql截取longblob类型字段内一小块数据的方法

    由于longblob类型的字段内容一般都好大,最大限制是4G,所以在数据查询中读取一整块数据的方式是不现实的,这需要要截取的方法来获取需要的数据. 方法如下: hex(substring(A, ind ...

  2. 未进入Kali Linux系统修改修改密码的方法

    今天使用kali的时候,由于虚拟机太多,密码还不一样,就忘记kali的登录密码了(我就是鱼的记忆,只有七秒).... 1.重启kali,进入恢复系统,按e键进入编辑模式 2.光标移动到/boot/vm ...

  3. 001.libev安装及eclipse下添加libev库链接

    libev库安装: 1.下载页面:http://dist.schmorp.de/libev/ 当前版本下载: [root@mid_server ~]# cd /usr/local/src  [root ...

  4. stanford coursera 机器学习编程作业 exercise 3(使用神经网络 识别手写的阿拉伯数字(0-9))

    本作业使用神经网络(neural networks)识别手写的阿拉伯数字(0-9) 关于使用逻辑回归实现多分类问题:识别手写的阿拉伯数字(0-9),请参考:http://www.cnblogs.com ...

  5. HDU 4630 No Pain No Game 树状数组+离线操作

    题意:给一串数字,每次查询[L,R]中两个数的gcd的最大值. 解法:容易知道,要使取两个数让gcd最大,这两个数最好是倍数关系,所以处理出每个数的所有倍数,两两间根据倍数关系形成一条线段,值为该数. ...

  6. POJ2796Feel Good[单调栈]

    Feel Good Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 13376   Accepted: 3719 Case T ...

  7. BZOJ4152The Captain[DIjkstra]

    4152: [AMPPZ2014]The Captain Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 700  Solved: 266[Submit ...

  8. USACO1.2Milking Cows

    题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...

  9. 直接拿来用!最火的Android开源项目(完结篇)

    直接拿来用!最火的Android开源项目(完结篇) 2014-01-06 19:59 4785人阅读 评论(1) 收藏 举报 分类: android 高手进阶教程(100) 摘要:截至目前,在GitH ...

  10. 1,字符是否为空,2,比较两个字符大小。String.Compare(String, String)。string.IsNullOrEmpty(string)

    1, String.Compare 方法 (String, String) 比较两个指定的 String 对象. 值 条件 小于零 strA 小于 strB. 零 strA 等于 strB. 大于零 ...