Visual Studio 2008 集成SP1补丁

时间:2021-12-20 01:31:22

     因为安装VS2008的SP1补丁和MSDN SP1 耗时太长,一直想二者集成到VS2008的安装包中;网上一搜有很多集成方案,按照上面的方案几经周折自己也集成了一个,经安装测试证明有效,下面结合搜到的资料说说具体的方案。

一、准备工作:    

     1、Visual Studio Team System 2008 Team Suite(90 天试用版) 

     2、Microsoft Visual Studio 2008 Service Pack 1 (iso)    

     3、VS90SP1-KB957507-v2-CHS-x86.exe (中文智能提示补丁)    

     4、VS90SP1-KB958502-x86.exe (JQuery智能提示补丁)    

     5、Orca MSI修改工具    

二、额外需要的文件:        

    1、 WcfTestClient.chm   (没有此文件也不要紧,只是整合与安装的过程中会报几个没有文件的错)  

    SQL Server 2005 Express Edition SP3 (如果你不需要安装它就不需要这几个文件)            

    2、 SQLEXPR_CHS.EXE  或者  SQLEXPR_ADV_CHS.EXE (二者任一,后者是集成了图形化管理工具的SQL Express版本)            

    3、 SQLEXPR32_CHS.EXE (和 SQLEXPR_CHS.EXE 在同一个页面下载

三、准备安装文件夹:     

    1、新建工作文件夹:(eg:在e盘下)         

         e:\vs        e:\vs\old        e:\vs\new        e:\vs\log        e:\vs\sp1       e:\vs\needfile       e:\vs\cmd     

    2、将原版安装文件复制到 e:\vs\old    (记住是解压后的文件,非iso文件)

    3、将SP1补丁全部复制到 e:\vs\sp1    (同上)

    4、将WcfTestClient.chm、SQLEXPR_CHS.EXE(SQLEXPR_ADV_CHS.EXE)、SQLEXPR32_CHS.EXE、VS90SP1-KB957507-v2-CHS-x86.exe、VS90SP1-KB958502-x86.exe 复制到 e:\vs\needfile

四、开始集成VS2008 SP1:

  1、集成VS2008 SP1: e:\vs\cmd\Integration.bat  (使用时请用管理员身份打开)

Visual Studio 2008 集成SP1补丁Visual Studio 2008 集成SP1补丁Integration.bat
rem 此处改为你相应的文件夹
e:
cd e:\vs
rem 展开原版安装文件
msiexec.exe /a %CD%\old\vs_setup.msi TARGETDIR=%CD%\new /L*vx %CD%\log\extract.log
xcopy "%CD%\needfile\WcfTestClient.chm" "%CD%\new\program files\microsoft visual studio 9.0\common7\ide\" /Y
rem 开始集成SP1
msiexec /p %CD%\sp1\VS90sp1-KB945140-X86-CHS.msp /a %CD%\new\vs_setup.msi /L*vx %CD%\log\patch-KB945140.log
msiexec /p %CD%\sp1\VC90sp1-KB947888-x86-chs.msp /a %CD%\new\vs_setup.msi /L*vx %CD%\log\patch-KB947888.log
msiexec /p %CD%\sp1\VC90sp1-KB948484-x86_x64-chs.msp /a %CD%\new\vs_setup.msi /L*vx %CD%\log\patch-KB948484.log
msiexec /p %CD%\sp1\VC90sp1-KB948560-x86_IA64-chs.msp /a %CD%\new\vs_setup.msi /L*vx %CD%\log\patch-KB948560.log
xcopy
"%CD%\new\Program Files\Microsoft Visual Studio 9.0\CSetupMM" "%CD%\new\setup" /E /H /R /Y
mkdir %CD%\new\WCU\VCRuntimes
xcopy
"%CD%\sp1\VC_x86Runtime.exe" "%CD%\new\WCU\VCRuntimes\"
xcopy
"%CD%\sp1\VC_x64Runtime.exe" "%CD%\new\WCU\VCRuntimes\"
xcopy
"%CD%\sp1\VC_IA64Runtime.exe" "%CD%\new\WCU\VCRuntimes\"
mkdir %CD%\new\WCU\SMO
xcopy
"%CD%\sp1\SharedManagementObjects.msi" "%CD%\new\WCU\SMO\"
xcopy
"%CD%\sp1\SQLSysClrTypes.msi" "%CD%\new\WCU\SMO\"
xcopy
"%CD%\sp1\SqlPubWizInstaller.exe" "%CD%\new\WCU\SQLPub\" /H /R /Y
xcopy
"%CD%\sp1\SSCERuntime-chs.msi" "%CD%\new\WCU\SSCE\" /H /R /Y
xcopy
"%CD%\sp1\SSCEVSTools-chs.msi" "%CD%\new\WCU\SSCE\" /H /R /Y
xcopy
"%CD%\sp1\vstolp20.exe" "%CD%\new\WCU\VS Tools for Office\" /H /R /Y
xcopy
"%CD%\sp1\vstor_lp_zh-CHS_30.exe" "%CD%\new\WCU\VS Tools for Office\" /H /R /Y
echo 集成dotNet3.5......
%CD%\sp1\dotnetfx35.exe /extract:%CD%\temp /q
xcopy
"%CD%\temp\WCU\dotNetFramework" "%CD%\new\WCU\dotNetFramework" /E /H /R /Y
xcopy
"%CD%\sp1\dotnetfx35langpack_x64zh-CHS.exe" "%CD%\new\WCU\dotNetFramework\dotNetFX35\x64\" /H /R /Y
xcopy
"%CD%\sp1\dotnetfx35langpack_x86zh-CHS.exe" "%CD%\new\WCU\dotNetFramework\dotNetFX35\x86\" /H /R /Y
rd %CD%\temp /S /Q
echo 集成2个补丁......
%CD%\needfile\VS90SP1-KB957507-v2-CHS-x86.exe /extract:%CD%\temp /q
msiexec /p %CD%\temp\VS90SP1-KB957507-v2.msp /a %CD%\new\vs_setup.msi /L*vx %CD%\log\patch-KB957507.log
rd %CD%\temp /S /Q
%CD%\needfile\VS90SP1-KB958502-x86.exe /extract:%CD%\temp /q
msiexec /p %CD%\temp\VS90SP1-KB958502.msp /a %CD%\new\vs_setup.msi /L*vx %CD%\log\patch-KB958502.log
rd %CD%\temp /S /Q
echo 主程序集成完毕,按任意键退出。&pause>nul

   2、集成SQL Server 2005 Express Edition SP3 : e:\vs\cmd\IntegrationSQLESP3.bat

Visual Studio 2008 集成SP1补丁Visual Studio 2008 集成SP1补丁IntegrationSQLESP3.bat
rem 此处改为你相应的文件夹
@echo off
e:
cd e:\vs
echo 请选择操作类型:
echo 【1】集成SQL Server 2005 Express Edition with Advanced Services SP3
echo 【2】集成SQL Server 2005 Express Edition SP3
echo 默认操作为【1
set /p answer=
if %answer%==1 goto InteADV;
if %answer%==2 goto Inte;
: InteADV
xcopy "%CD%\needfile\SQLEXPR_ADV_CHS.EXE" "%CD%\new\WCU\SSE\SQLEXPR.EXE" /H /R /Y
goto End
: Inte
xcopy "%CD%\needfile\SQLEXPR_CHS.EXE" "%CD%\new\WCU\SSE\SQLEXPR.EXE" /H /R /Y
goto End
:End
xcopy "%CD%\needfile\SQLEXPR32_CHS.EXE" "%CD%\new\WCU\SSE\sqlexpr32.exe" /H /R /Y
echo SQL Server 2005 Express Edition SP3集成完毕,按任意键退出。&pause>nul

五、收尾工作

   1、用Orca软件把new\vs_setup.msi打开,在File下面增加文件项

File  Component_ FileName   FileSize Version  Sequence 
 NetFX35_clwireg.exe  NetFX35_clwireg.exe  netfx.exe|clwireg.exe  114200  9.0.30519.0   546
 NetFX35_clwireg_ia64.exe  NetFX35_clwireg_ia64.exe  netfx.exe|clwireg_ia64.exe  295448  9.0.30519.0   546
 NetFX35_clwireg_x64.exe  NetFX35_clwireg_x64.exe  netfx.exe|clwireg_x64.exe  131608  9.0.30519.0   546

   2、修改SqlPubWizInstaller.exe的版本信息

         打开[new\Program Files\Microsoft Visual Studio 9.0\CSetupMM\baseline.dat]和[new\Setup\baseline.dat]两个文件,找到SqlPubWizInstaller.exe把版本信息DetectFileVersion=10.00.1600.22替换成 DetectFileVersion=2007.100.1600.22

   3、直接把VS2008变成正式版本(可选) 

         打开[new\Program Files\Microsoft Visual Studio 9.0\CSetupMM\setup.sdb]和[new\Setup\setup.sdb]两个文件, 找到[Product Key]小节,把它下面的25位的序列号改成: *** ,如果下面什么也没有,就直接加。
           说明: 本步是为了直接把VS2008变成正式版本,当然你也可以不这样做,那就需要安装后再输入序列号,这个序列号是VS2008 Team Suite版本的,如果你的版本不是这个,要换成正确的。

   4、免输序列号(可选)

         打开[new\Setup\locdata.ini]文件,找到 [VS Custom]小节,在下面加上: PIDKEY=***,这个是安装的时候要求输入序列号的,如果这里写的,安装的时候,就不需要手动输入了。

 

  到此,Visual Studio 2008 SP1已经集成完毕, 最后可以使用UltraISO 或是 CDImage 生成 ISO 文件

 

附录:

xcopy 参数说明

/E -------- 复制目录和子目录,包括空的。与 /S /E 相同。可以用来修改 /T。

/R -------- 覆盖只读文件。

/H -------- 也复制隐藏和系统文件。

/Y -------- 复制文件审核设置(隐含 /O)。

/O -------- 复制文件所有权和 ACL 信息。

批处理中的%CD%说明

%CD% -------- 返回当前目录字符串

 

参考文章:

 http://oszy66.blog.51cto.com/1500719/349218

 http://www.cnblogs.com/LowerAI/articles/1788713.html