win2k3SP2,VS2005SP1,SQL2005SP2整合方法分析小结第2/3页

 更新时间:2008年08月06日 23:15:19   作者:  
一直安装和整合Microsoft Visual Studio 2005 SP1都搞不定,老是出现文件授权错误,后来多方查找信息,总算解决了。

2.释放补丁包.

把下载到的补丁文件解压出来:
 
复制代码 代码如下:

VS80sp1-KB926604-X86-CHS.exe /extract "D:\vspatch\"


D:\vspatch\ 是我解压到的目录.解压出一个VS80sp1-KB926604-X86-CHS.msp的文件,注意,是以msp为后缀名.


3.应用补丁.

把解压出来的两个文件进行整合:

复制代码 代码如下:

msiexec.exe /a D:\VSSETUP\vs_setup.msi /p "D:\vspatch\VS80sp1-KB926604-X86-CHS.msp" /L*vx patch.log


剩下的就是漫长的等待了,花费的时间大概和安装好VS2005应用补丁的时间差不多吧.

打完补丁以后,把VS安装目录里的其他文件拷到D:\VSSSETUP里来了,但是,不要覆盖任何文件,还有.cab的压缩包也不用再拷了,刚才其实已经把cab里的东西在第一步的时候解压出来并应用补丁了.

现在,可以把这个应用补丁的版本重新做成一张VS2005(SP1)安装光盘了



既然VS2005都整合都,那么顺便也就把SQL Server 2005 SP2也整合算了,看了网上一些文章,照着做下来发现老是在报错,于是仔细地看了一下方法,发现不知道为什么,很多人把路径都写错了,修改后如下:

acroPatch的补丁总是很慢,整合后安装是最好的方法。
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\Servers\Setup\sqlrun_as.msi TARGETDIR=D:\SWAP
msiexec /a D:\MSSQL\Servers\Setup\sqlrun_dts.msi TARGETDIR=D:\SWAP
msiexec /a D:\MSSQL\Servers\Setup\sqlrun_ns.msi TARGETDIR=D:\SWAP
msiexec /a D:\MSSQL\Servers\Setup\sqlrun_rs.msi TARGETDIR=D:\SWAP
msiexec /a D:\MSSQL\Servers\Setup\sqlrun_sql.msi TARGETDIR=D:\SWAP
msiexec /a D:\SWAP\sqlrun_as.msi /p D:\SP2\hotfixas\files\sqlrun_as.msp
msiexec /a D:\SWAP\sqlrun_dts.msi /p D:\SP2\hotfixdts\files\sqlrun_dts.msp
msiexec /a D:\SWAP\sqlrun_ns.msi /p D:\SP2\hotfixns\files\sqlrun_ns.msp
msiexec /a D:\SWAP\sqlrun_rs.msi /p D:\SP2\hotfixrs\files\sqlrun_rs.msp
msiexec /a D:\SWAP\sqlrun_sql.msi /p D:\SP2\hotfixsql\files\sqlrun_sql.msp


复制 D:\SWAP 文件夹中的所有文件到 D:\MSSQL\Server\Setup 文件夹。
删除 D:\SWAP 文件夹。

复制代码 代码如下:

msiexec /a D:\MSSQL\Tools\Setup\sqlrun_tools.msi TARGETDIR=D:\SWAP
msiexec /a D:\SWAP\sqlrun_tools.msi /p D:\SP2\hotfixtools\files\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-04-01
// Version : 1.02 
/////////////////////////////////////////////////
var swap  = "D:\\SWAP";
var sqldir = "D:\\MSSQL";
var sp2    = "D:\\SP2";
var server = sqldir + "\\Server\\Setup";
var tools  = sqldir + "\\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 + "\\*.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=" + sqldir);
    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();
}

相关文章

最新评论