因为安装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 (使用时请用管理员身份打开)
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
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