|
本帖最后由 2010laocfan 于 2018-4-30 16:05 编辑
Office2003很经典,至今依然很多人在用,通常使用三合一精简版就够用了,n年前总是到处找更新的版本却很难找到,于是想到用 Office Slipstreamer这个软件来集成补丁,它可以把需要的补丁都集成了,安装后,
那些烦人的补丁提示也没有了,但安装前后一比较,那些更新的文件并没有集成在安装包里,只是修改了注册表 ,原来它在集成的时候,只通过读取补丁注册信息而形成自己注册表(*.reg)文件,在安装的时候,自动
运行那个*.reg文件修改注册表,使更新服务器知道“补丁已打”,这个新的*.reg文件就在FILES\SETUP文件夹里。
知道这个原理,我们就可以不用 Office Slipstreamer,自己集成补丁,达到既更新了文件,又更新注册表的目的。理论上所有的03安装包都可以自己集成补丁,但我觉得03安装包还是选用有FILES\SETUP文件夹的较
好,不然自己做的注册表(*.reg)文件都不知放哪里;而且程序既然是自动运行那个*.reg文件,卸载时也一定能把注册表清理干净。
当然,下载Office Slipstreamer回来安装一下,然后随便找一个或几个Office2003补丁,自己试着集成,完成后研究一下产生的*.reg文件,那就一切都清楚了。如果03安装包的FILES\SETUP文件夹里已经有*.reg文件,
那连试用Office Slipstreamer集成的这一步都可省略了。
小结:
1.下载03安装包,解压到硬盘;
2.虚拟机安装一个简单系统,我是安装的64位XP,其更新服务器工作正常且速度尚可,提取更新前后的C:\Program Files (x86)\Microsoft Office及C:\Program Files (x86)\Common Files\Microsoft Shared两目录,用BC进
行对比,提取版本新的文件
3.加入新版本文件到安装包的相应目录
4.运行regedit,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\4080110900063D11C8EF10054038389C\Patches”项,按右键导出成注册表文件,
将此文件改名为FILES\SETUP文件夹里原有的*.reg同名文件,覆盖原文件。
5.把修改过的安装包压成7z,并做成自解压可执行文件,做成后放在虚拟机上测试能否通过。
6.如果原安装包不含CAB文件一般就没有问题,万一有问题可用Orca.exe,打开操作相应的msi文件,导出File.idt修改已更新文件的大小与版本号,再导入,保存修改的文件
7.以前曾使用Tclserver技术工作室做的 3in1,后又换了一个3in1,忘了谁做的,按上述方法都可行;之后增加了一个带CAB文件的Office2007兼容包,更新CAB文件后,安装兼容包总提示找不到MOC.EXE,而这个文件明明
就在CAB里......后来在无忧看到2012sxxcxn2003做的 Office2003SP3_3IN1_2016年10月25日封装版,大致看了一下目录结构,不带CAB文件,赶紧测试,安装很顺利!美中不足的是打开自动更新有一大堆office的补丁提示
要打,由于没有FILES\SETUP文件夹,使用Office_Slipstreamer不能整合,于是把以前可以用Office Slipstreamer打补丁的3in1找出,与这个安装包(简称3IN1)重新组合制作
8.移花接木:
3IN1根目录的Windows、....\FILES\PFILES\MSOFFICE\Office12、....\FILES\PFILES\MSOFFICE\Office14、....\FILES\WINDOWS\FONTS、....\FILES\PFILES\COMMON\MSSHARED\OFFICE12、....\FILES\PFILES\COMMON
\SHAREDVS 这6个文件夹移到原3in1目录的相应位置,覆盖之。
3IN1根目录的Genko.msi、O12Conv.msi、OFV.msi、Works.msi 这4个文件移到原3in1根目录下。
9.3IN1安装包....\FILES\PFILES\MSOFFICE\Office12目录内有冗余文件如:wrd12cnv.dll、wrd12cvr.dll....删除低版本的冗余文件,还需按下面改名:
gkpowerpoint.dll->1cgmkihw.dll, xlsrvintl.dll->xlsrvint.dll,Wordcnv.dll->WRD12CNV.DLL,Wordcnvr.dll->WRD12CVR.DLL,Wordconv.exe->WRD12EXE.EXE
Wordcnvpxy.cnv->WRD12PXY.CNV,excelcnvpxy.dll->XL12CNVP.DLL,excelcnv.exe->XL12CNV.EXE
10.一些文件的更新(供参考,版本号后面是文件大小,这些数据修改File.idt也需要)
office11目录修改: excel.exe ->11.0.8412.0 10358936 gdiplus.dll->11.0.8442.0 1706656 winword.exe->11.0.8411.0 12317848
common\....\office11: msxml5r.dll ->5.20.1072.0 91912 mso.dll->11.0.8434.0 11668624 msxml5.dll->5.20.1104.0 1375896
common\....\textconv: MSCONV97.DLL ->2003.1100.8327.0 118104 为works.msi添加Wks9Pxy.cnv->14.0.4746.1000 47008 Wkconv.exe->14.0.6009.1000 1199008
system\: fm20.dll ->12.0.6510.5004 119832
11.修改过程中曾想节省体积,删除了Office2007兼容包里内含的msvc8,即删除了O12Conv.msi的File.idt表中包含*.1m8、*.1p4、*.kj4字符串的整行,同时还删除了包内所有vc8的相关文件。测试结果:
在64位XP系统里安装正常完成;在64位Win8.1系统里兼容包的安装出现错误退出,错误代码2715,为查错误原因竟花费了2天时间,因此不能删除vc8,因为影响兼容性。
12.上面说的FILES\SETUP文件夹里的*.reg文件只能解决Office 2003的注册表更新;
Office 2010兼容相关注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\00004109500200000000000000F01FEC\Patches
Office 2007兼容相关注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\00002109020040800000000000F01FEC\Patches
兼容包的更新用导入注册表的方法解决。这个涉及注册表重定向问题,为避免导入到wow6432node项,试了几个方法:
如rar自解压到system32,结果却把reg文件解压到SysWOW64,7z自解压也一样; reg转换为inf等等,不是不行就是不稳定,最终方案是rar自解压到%windir%然后自动运行regedit /s 0710up.reg ,64位系统采用64位自
解压模块;32位系统采用32位自解压模块,分别做成2个自解压exe文件,批处理加一个简单的64/32位判别语句较好地解决了注册表重定向问题。
修改后的 Office2003SP3_3IN1在64/32位XP、64位Win8.1和64位Win10系统都能正常安装和运行,集成补丁到2018年4月
文件: Office2003SP3_3IN1.exe
大小: 75687997 字节
修改时间: 2018年4月27日
MD5: FFCF6F9CD2BC5F8EE5F9E8CD966AF740
链接:https://pan.baidu.com/s/1TWC_GhTHmiNeR2IndtzK3g 密码:anpy
|
评分
-
查看全部评分
|