原文來自: 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 文件
cdimage -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% -------- 返回當前目錄字符串