原文来自: UPK软件安全社区 作者: 天下无雪 再此基础上进行修改
准备工作:
VS2008原版90天试用光盘
VS2008SP1补丁 用的是 iso 版的
VS90SP1-KB957507-v2-CHS-x86.exe (中文智能提示补丁)
VS90SP1-KB958502-x86.exe (JQuery智能提示补丁)
Orca MSI修改工具
额外需要的文件:
WcfTestClient.chm
SQL Server 2005 Express Edition SP3 (如果你不需要安装它就不需要这几个文件)
SQLEXPR_CHS.EXE (SQLEXPR32_CHS.EXE 这个文件也在右边下载)
SQLEXPR_ADV_CHS.EXE (二者任一,后者是集成了图形化管理工具的SQL Express版本)
SQLEXPR32_CHS.EXE
准备安装文件夹:
新建工作文件夹:
e:\vs
e:\vs\old
e:\vs\new
e:\vs\log
e:\vs\sp1
e:\vs\needfile
e:\vs\cmd
将原版安装文件复制到:e:\vs\old
将SP1补丁全部复制到:e:\vs\sp1
将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。
集成脚本:cmd\Integration.bat (使用时请用管理员身份打开)
- rem 脚本开始,此处改为你相应的文件夹
- e:
- cd e:\vs
- echo 展开原版安装文件……
- 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\"
- echo 开始集成……
- 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\"
- rem 有说用sp1的SqlPubWizInstaller.exe替换wcu目录下的
- rem sqlpubwiz.msi的 但是 下面的xcopy不是执行的这个方法
- 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
集成SQL Server 2005 Express Edition SP3:cmd\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
- @echo on
脚本运行完毕后还有几步要做:
1. Orca软件把new\vs_setup.msi打开,在File下面增加文件项
File | Component_ | FileName | FileSize |
| |
NetFX35_clwireg.exe | NetFX35_clwireg.exe | netfx.exe|clwireg.exe | 114200 | ||
NetFX35_clwireg_ia64.exe | NetFX35_clwireg_ia64.exe | netfx.exe|clwireg_ia64.exe | 295448 |
| |
NetFX35_clwireg_x64.exe | NetFX35_clwireg_x64.exe | netfx.exe|clwireg_x64.exe | 131608 |
FileSize
114200
295448
131608
Version 9.0.30519.0 (3个一样)
Sequence 546 (3个一样)
2. 修改SqlPubWizInstaller.exe的版本信息
打开new\Program Files\Microsoft Visual Studio 9.0\CSetupMM\baseline.dat和new\Setup\baseline.dat两个文件,
找到SqlPubWizInstaller.exe把版本信息替换成
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位的序列号改成:
PYHYPWXB3BB2CCMV9DX9VDY8T
如果下面什么也没有,就直接加。
说明: 本步是为了直接把VS2008变成正式版本,当然你也可以不这样做,那就需要安装后再输入序列号,这个序列号是VS2008 Team Suite版本的,如果你的版本不是这个,要换成正确的。
4. 免输序列号(可选)
打开[new\Setup\locdata.ini]文件,找到 [VS Custom]小节,在下面加上:
PIDKEY=PYHYPWXB3BB2CCMV9DX9VDY8T
这个是安装的时候要求输入序列号的,如果这里写的,安装的时候,就不需要手动输入了。
到此,Visual Studio 2008 SP1已经集成完毕,
最后可以使用UltraISO 或是 CDImage 生成 ISO 文件
cdp_w_picpath -lDVD1 -t08/14/2007,16:00:00 -h -n -o -m e:\vs\new D:\VS2008_teamsuit_chs_sp1.iso
-l (jkl’s l, not i or 1), 卷标名称
-t 所有文件和目录的时间戳
-h 包含隐藏文件和目录
-n 允许长文件名
-o 优化存储,相同文件保存一次
-m 忽略最大镜像文件大小 681,984,000 字节
ps:
1 vs2005 整合 sp1 时 需要把卷标名 设为 DVD1, 不知道 vs2008 是否也需要?
2 不解压缩,直接用虚拟光驱加载iso文件,能否整合成功?
附录:
xcopy 参数说明
/E -------- 复制目录和子目录,包括空的。与 /S /E 相同。可以用来修改 /T。
/R -------- 覆盖只读文件。
/H -------- 也复制隐藏和系统文件。
/Y -------- 复制文件审核设置(隐含 /O)。
/O -------- 复制文件所有权和 ACL 信息。
批处理中的%CD%说明
%CD% -------- 返回当前目录字符串
转载于:https://blog.51cto.com/oszy66/349218