将 MS SQL Server 2005 SP2 整合到安装文件
MacroPatch的补丁总是很慢,整合后安装是最好的方法。1) 准备 解压 SQLServer2005SP2-KB921896-x86-CHS.exe 文件(使用 WinRAR 可直接解压,或使用 /extract) 取出解压后的文件中的所有 *.msi 和 *.msp 文件(全部都在 hotfix* 文件夹中) 放到 D:SP2 中.
解压 cs_sql_dev_all_dvd.iso(SQL Server 2005 开发版) 中的 x86 版本,放到 D:MSSQL 中;此时 D:MSSQL 中应该有以下文件和文件夹 autorun.inf,Servers,Tools。 跳到 2)。
2) 使用以下方法之一整合 A) 按以下方法整合 复制 D:SP2 文件夹中的 *.msi 文件覆盖 D:MSSQLServerSetup 和 D:MSSQLToolsSetup 中的文件。 执行以下命令,每个命令必须在弹出 '安装完成' 对话框后才能执行下一个命令(前 5 个命令可能没有 '安装完成' 对话框。).
msiexec /a D:MSSQLServersqlrun_as.msi TARGETDIR=D:SWAPmsiexec /a D:MSSQLServersqlrun_dts.msi TARGETDIR=D:SWAPmsiexec /a D:MSSQLServersqlrun_nsmsi TARGETDIR=D:SWAPmsiexec /a D:MSSQLServersqlrun_rs.msi TARGETDIR=D:SWAPmsiexec /a D:MSSQLServersqlrun_sql.msi TARGETDIR=D:SWAPmsiexec /a D:SWAPsqlrun_as.msi /p D:SP2sqlrun_as.mspmsiexec /a D:SWAPsqlrun_dts.msi /p D:SP2sqlrun_dts.mspmsiexec /a D:SWAPsqlrun_ns.msi /p D:SP2sqlrun_ns.mspmsiexec /a D:SWAPsqlrun_rs.msi /p D:SP2sqlrun_rs.mspmsiexec /a D:SWAPsqlrun_sql.msi /p D:SP2sqlrun_sql.msp
复制 D:SWAP 文件夹中的所有文件到 D:MSSQLServerSetup 文件夹。 删除 D:SWAP 文件夹。
msiexec /a D:MSSQLToolssqlrun_tools.msi TARGETDIR=D:SWAPmsiexec /a D:SWAPsqlrun_tools.msi /p D:SP2sqlrun_tools.msp
复制 D:SWAP 文件夹中的所有文件到 D:MSSQLToolsSetup 文件夹。 删除 D:SWAP 文件夹。 删除 D:SP2 文件夹。 跳到 3)。
B) 使用Windows 脚本安装 INSTALL_SQL_SP2.JS
/////////////////////////////////////////////////// Slipsteaming MSSQL Server 2005 SP2// Author; : Zealic// Date;: 2007-03-19// Version : 1.00 /////////////////////////////////////////////////var swap; = 'D:SWAP';var sqldir = 'D:MSSQL';var sp2;= 'D:SP2';var server = setup + 'ServerSetup';var tools; = setup + 'ToolsSetup';
install();
function install(){ WScript.Echo('Slipsteaming MSSQL Server 2005 SP2'); WScript.Echo('By Zealic'); WScript.Echo('Playse wait processing '); try { installServer(); exec('DEL /Y ' + swap ); installTools(); sucess(); } catch(e) { WScript.Echo(e.name + ' : ' + e.message); fail(); }}
function installServer(){ testRun('XCOPY /y /h ' + sp2 + '*.msi ' + server); testRun('msiexec /quiet /a' + server + 'sqlrun_as.msi TARGETDIR=' + swap); testRun('msiexec /quiet /a' + server + 'sqlrun_dts.msi TARGETDIR=' + swap); testRun('msiexec /quiet /a' + server + 'sqlrun_ns.msi TARGETDIR=' + swap); testRun('msiexec /quiet /a' + server + 'sqlrun_rs.msi TARGETDIR=' + swap); testRun('msiexec /quiet /a' + server + 'sqlrun_sql.msi TARGETDIR=' + swap); testRun('msiexec /a ' + swap + 'sqlrun_as.msi /p ' + sp2 + 'sqlrun_as.msp'); testRun('msiexec /a ' + swap + 'sqlrun_dts.msi /p ' + sp2 + 'sqlrun_dts.msp'); testRun('msiexec /a ' + swap + 'sqlrun_ns.msi /p ' + sp2 + 'sqlrun_ns.msp'); testRun('msiexec /a ' + swap + 'sqlrun_rs.msi /p ' + sp2 + 'sqlrun_rs.msp'); testRun('msiexec /a ' + swap + 'sqlrun_sql.msi /p ' + sp2 + 'sqlrun_sql.msp'); testRun('XCOPY /Y /E ' + swap + ' ' + server);}
function installTools(){ testRun('XCOPY /y /h ' + sp2 + '*.msi ' + tools); testRun('msiexec /quiet /a' + server + 'sqlrun_tools.msi TARGETDIR=' + setup); testRun('msiexec /a ' + swap + 'sqlrun_tools.msi /p ' + sp2 + 'sqlrun_tools.msp'); testRun('XCOPY /Y /E ' + swap + ' ' + tools);}
function testRun(runStr){ var wsh;= new ActiveXObject('Wscript.Shell'); var sys32 = wsh.ExpandEnvironmentStrings('%WINDIR%System32'); wsh.CurrentDirectory = sys32; var ret;= WScript.Run(runStr,0,true); if(ret != 0)fail(); return ret;}
function exec(runStr){ var wsh;= new ActiveXObject('Wscript.Shell'); var shell = wsh.ExpandEnvironmentStrings('%COMSPEC%'); return wsh.Run(shell + ' /K ' + runStr,0,true);}
function fail(){ WScript.Echo('Process fail !!!!!!!!!!!!!!!!!!!!!'); WScript.Echo('Please retry execute this script.'); WScript.Echo('Press 'Enter' to exit'); WScript.StdIn.ReadLine(); WScript.Quit();}
function sucess(){ WScript.Echo('Process OK!'); WScript.Echo('Press 'Enter' to exit'); WScript.StdIn.ReadLine(); WScript.Quit();}
3)打包 打包为 ISO 或 RAR 待以后使用. 整合后大小约 1.98G,用ISO优化封装后为 1.39G
安装完成后,打开 Visual Studio 或 SQL Server SQL Management Studio,可以看到版本号为 9.00.3042.00 SQL Server 2005 版本号如下 : ORIGIN : 9.00.1399.00 SP1;: 9.00.2047.07 SP2;: 9.00.3042.00
注 : 脚本安装法本人没有测试过(如果有问题,请告诉我,因为我已经把原始文件删了),方法1是叙述所有流程并且测试过的。
注2 :; 2007-03-06 的 SP2 已经包含 KB933508 的更新,无需整合。