实战解压微软Service Pack, 从msp文件中拿到具体的文件

为什么会有这样的需求?

故事从头说起, 一个朋友说他的SharePoint Portal Server 2003的C盘空间不够了, 原因是index文件占了太大的地方.

微软有文档描述了解决这个问题的详细步骤.

How to use the Catutil.exe tool

http://support.microsoft.com/kb/825484/en-us

具体步骤在文章的Move Index Files的部分.

问题来了, 这个工具在SharePoint Portal Server 2003 的安装光盘里有, 但是安装光盘中的是RTM的版本. SP3中有这个工具的升级版. 在C:\Program Files\Common Files\Microsoft Shared\web server extensions\60里没有找到.

于是笔者就想从SP3的安装包中拿到这个文件.

步骤

==============

1. 做过SharePoint 2007 split stream安装源的朋友一定知道, Service Pack的可执行文件是有解压选项的. 在MOSS 2007中, 样子应该是sps2007sp2.exe /extract:c:\sp2out. 在sps2003的补丁包中, 这个选项有点不一样, 不知道没关系, 我们把service pack的可执行文件拖到命令行中, 问它一下就好了.

image

2. 运行/C来解压. 结果如图.

image

3. 看起来这里的v2sp3packlet.msp包含了我们感兴趣的内容.

4. 参考文章Patch Files Extractor中介绍的工具msix. 使用它对msp再次解压.

image

5. 观察, 其中有个cab包, 打开看看, 发现我们要的文件就在里面. 当然, 文件名的后面不同. DFASTLOG.dll是catutil.exe需要的, 故用绿色高亮出来.

image

image

6. 重命名文件, 验证一下.

image

问题圆满解决.

亮点总在最后嘛, 笔者忙活了一圈儿, 脑子突然觉得这个玩意儿既然在安装包中, 那么一定会被部署到什么地方才是. 一看C:\Program Files\SharePoint Portal Server\Bin, 傻眼了. catutil.exe就躺在那儿.

过程记录在这里, 提醒自己: 动手前先要多动动脑子.

原文地址:https://www.cnblogs.com/awpatp/p/1949674.html