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:/MSSQL/Server/Setup 和 D:/MSSQL/Tools/Setup 中的文件。
執行以下命令,每個命令必須在彈出 "安裝完成" 對話框后才能執行下一個命令(前 5 個命令可能沒有 "安裝完成" 對話框。).
msiexec /a D:/MSSQL/Server/sqlrun_as.msi TARGETDIR=D:/SWAP
msiexec /a D:/MSSQL/Server/sqlrun_dts.msi TARGETDIR=D:/SWAP
msiexec /a D:/MSSQL/Server/sqlrun_nsmsi TARGETDIR=D:/SWAP
msiexec /a D:/MSSQL/Server/sqlrun_rs.msi TARGETDIR=D:/SWAP
msiexec /a D:/MSSQL/Server/sqlrun_sql.msi TARGETDIR=D:/SWAP
msiexec /a D:/SWAP/sqlrun_as.msi /p D:/SP2/sqlrun_as.msp
msiexec /a D:/SWAP/sqlrun_dts.msi /p D:/SP2/sqlrun_dts.msp
msiexec /a D:/SWAP/sqlrun_ns.msi /p D:/SP2/sqlrun_ns.msp
msiexec /a D:/SWAP/sqlrun_rs.msi /p D:/SP2/sqlrun_rs.msp
msiexec /a D:/SWAP/sqlrun_sql.msi /p D:/SP2/sqlrun_sql.msp
復制 D:/SWAP 文件夾中的所有文件到 D:/MSSQL/Server/Setup 文件夾。
刪除 D:/SWAP 文件夾。
msiexec /a D:/MSSQL/Tools/sqlrun_tools.msi TARGETDIR=D:/SWAP
msiexec /a D:/SWAP/sqlrun_tools.msi /p D:/SP2/sqlrun_tools.msp
復制 D:/SWAP 文件夾中的所有文件到 D:/MSSQL/Tools/Setup 文件夾。
刪除 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 + "http://Server//Setup";
var tools = setup + "http://Tools//Setup";
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 + "http://*.msi " + server);
testRun("msiexec /quiet /a" + server + "http://sqlrun_as.msi TARGETDIR=" + swap);
testRun("msiexec /quiet /a" + server + "http://sqlrun_dts.msi TARGETDIR=" + swap);
testRun("msiexec /quiet /a" + server + "http://sqlrun_ns.msi TARGETDIR=" + swap);
testRun("msiexec /quiet /a" + server + "http://sqlrun_rs.msi TARGETDIR=" + swap);
testRun("msiexec /quiet /a" + server + "http://sqlrun_sql.msi TARGETDIR=" + swap);
testRun("msiexec /a " + swap + "http://sqlrun_as.msi /p " + sp2 + "http://sqlrun_as.msp");
testRun("msiexec /a " + swap + "http://sqlrun_dts.msi /p " + sp2 + "http://sqlrun_dts.msp");
testRun("msiexec /a " + swap + "http://sqlrun_ns.msi /p " + sp2 + "http://sqlrun_ns.msp");
testRun("msiexec /a " + swap + "http://sqlrun_rs.msi /p " + sp2 + "http://sqlrun_rs.msp");
testRun("msiexec /a " + swap + "http://sqlrun_sql.msi /p " + sp2 + "http://sqlrun_sql.msp");
testRun("XCOPY /Y /E " + swap + " " + server);
}
function installTools()
{
testRun("XCOPY /y /h " + sp2 + "http://*.msi " + tools);
testRun("msiexec /quiet /a" + server + "http://sqlrun_tools.msi TARGETDIR=" + setup);
testRun("msiexec /a " + swap + "http://sqlrun_tools.msi /p " + sp2 + "http://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 的更新,無需整合。
新聞熱點
疑難解答