vs2008成功整合了sp1

我已经成功整合了vs2008 sp1, 
目前正在使用,没有什么大问题,但是小问题还是有的 
就是先把vs2008用/a分离开 
在把sp1里面的几个msp文件分别用/p集成进去 
msiexec /p SP1\VS90sp1-KB945140-X86-ENU.msp /a DVD1\vs_setup.msi 
msiexec /p SP1\VC90sp1-KB947888-x86-enu.msp /a DVD1\vs_setup.msi 
msiexec /p SP1\VC90sp1-KB948484-x86_x64-enu.msp /a DVD1\vs_setup.msi 
msiexec /p SP1\VC90sp1-KB948560-x86_IA64-enu.msp /a DVD1\vs_setup.msi 
期间会提示缺少文件(好像是一个帮助文件) 
到安装过vs2008的机子里面拷出来放到对应的目录里面 
然后把Program Files\Microsoft Visual Studio 9.0\CSetupMM目录和安装目录里面的Setup对比 
原版里面的内容几乎一样,打了补丁后,前者已经更新到集成sp1了,而否则没有太大变化 
关键文件:baseline.dat,Setup.SDB,vs_setup.pdi,locdata.ini,deffactory.dat 
于是把前者里面的文件复盖后者,再打开vs_setup.pdi,加上序列号 
然后仔细分析baseline.dat文件,你就可以发现WCU里面的安装文件有缺失 
把sp1里面的几个VCRuntimes,复制到wcu文件夹的VCRuntimes目录里面 
把sp1里面的SqlPubWizInstaller.exe放到SQLPub,替换掉里面的那个msi 
还有几个不记得了,就这样到sp1里面的所有文件看看是不是都在原版的wcu文件夹里面把原有的文件更新 
再后面就是整合.net3.5 sp1 
很简单,不过要主要,否则安装的时候会出错,无法继续 
就是先记录下.net3.5原版和sp1有那些文件不同,好像是少了3个文件,多了3个新文件 
记录完后,将.net3.5原版目录删掉,复制sp1的进入 
然后是关键的一步 
就是用Orca软件把vs_setup.msi打开,找到那3个已经丢掉的文件名的记录,把他换成新文件的文件名(正好3对3) 
这样就不会提示少文件 
还有最后一个文件 
就是安装到最好会提示SqlPubWiz安装失败 
打开baseline.dat文件,找到SqlPubWizInstaller.exe把版本信息替换成 
DetectFileVersion=2007.100.1600.22 
就可以了,这明显是bug。 

这样完成后,就是一个整合了sp1补丁的的vs2008,目前我发现的问题有: 
x64和ia64的补丁没有打,因为我是x86的机子 
sp1补丁里面的WinSDK-KB946733-enu.msp以及几个WinSDK的补丁不知道有没有整合(好像是部分整合了) 
DTE90SP1-KB950425-ENU.msp没用用到,不知道什么用 
--------------------------------------- 
安装整合后的vs2008,我没有和打补丁的vs2008仔细做比较 
发现的一些问题,可能就是整合时候有文件没有更新造成的 
使用的时候没发现什么大问题,小问题感觉有一些,也不知道是否是整合造成的: 
发现vc在debug的时候会有很多变量名称变成_unnamed变量了,不知道是怎么回事? 

整个过程大概如上,可能遗漏了一些细节,主要是对那几个关键文件的修改,和wcu文件夹里面的文件的替换 
我花了4天研究才得出以上结论 
(如果转帖请留下原作者信息:yyfearth.com)
原文地址:https://www.cnblogs.com/top5/p/1677496.html