系统升级日记(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 一.背景 在我们使用 ...
随机推荐
- Ztree插件,定位节点时(focus)不能进入可视区域BUG解决方案
相关插件版本: jquery.ztree.exedit-3.4.js jquery.ztree.all-3.4.js jquery-1.8.0.js function onAsyncSuccess(e ...
- Java设计模式 - 代理模式
1.什么是代理模式: 为另一个对象提供一个替身或占位符以访问这个对象. 2.代理模式有什么好处: (1)延迟加载 当你需要从网络上面查看一张很大的图片时,你可以使用代理模式先查看它的缩略图看是否是自己 ...
- iNeedle系统之国舜项目
一.简介 本周公司接了一个小项目,是给北京国舜科技股份有限公司做一个HTTP相关的小功能产品.大概实现功能是将交换机的源数据通过解析,分析出HTTP包配对的request和response头,并把每对 ...
- Activity中使用Intent实现页面跳转与参数的传递(转)
新建一个FirstAvtivity.java package com.zhuguangwei; import android.app.Activity; import android.content. ...
- Linux 下从头再走 GTK+-3.0 (三)
之前我们为窗口添加了一个按钮,接下来让这个按钮丰富一点.并给窗口加上图标. 首先创建 example3,c 的源文件. #include <gtk/gtk.h> static void a ...
- 【原】常见CSS3属性对ios&android&winphone的支持
2个月前,我在博文<webapp开发中兼容Android4.0以下版本的css hack>中写过“那对于做移动网页开发的同事来说,一般只要做好webkit内核浏览器的展现效果就行了” ,在 ...
- 《数据结构》之串的模式匹配算法——KMP算法
//串的模式匹配算法 //KMP算法,时间复杂度为O(n+m) #include <iostream> #include <string> #include <cstri ...
- JAVA单例
单例模式: 1 public class Person{ 2 public static Person per//定义一个静态变量,用来储存当前类的对象 3 private Person()//构造方 ...
- UIPanelResetHelper(UIScrollView滚动复位)
原理 如果我们的UI中有滑动列表,并且列表比较长,那么不知道你们是否有这样需求,每次页面打开时,列表的滑动状态都恢复到默认状态. 如果要复位,其实就是修改UIPanel 的属性到初始状态.此组件做的工 ...
- Android终端配置isatap隧道使用IPV6的方法
使用isatap隧道可以在手机有IPV4网络的情况下访问IPv6网络资源.关于isatap隧道的配置方法,清华.上交两所学校都给出了相应的在windows xp/2003,windows 2000,以 ...