• 将 MS SQL Server 2005 SP2 整合到安装文件【脚本修正】


          刚入手新本本,一阵忙活,装好系统。小黑的驱动真不少,七七八八也有二三十个文件要下载、安装。轮到安装开发软件更是崩溃,一堆堆的sp等着我们打!微软留给我们的噩梦啊,所以,开始下载整合了SP补丁的软件,唯独没有找到SQL Server2005的整合版下载,只能自己动手,做个整合版了。网上一阵Google,见到园子里面这篇文章:将 MS SQL Server 2005 SP2 整合到安装文件,写的很不错,方法都有了,一看还有个脚本集成,很不错,可惜一执行下来,一堆错误,自己手动稍微调整了下,已经测试通过,放出来给大家共享一下,整合了开发版和企业版的32位安装包(带SP2)的大小855MB,isz压缩格式。修正的脚本如下:

     1 /////////////////////////////////////////////////
     2 // Slipsteaming MSSQL Server 2005 SP2
     3 // Author  : Zealic
     4 // Date    : 2007-03-19
     5 // Version : 1.01
     6 //
     7 // Author  : Hollis Yao
     8 // Date    : 2008-01-15
     9 // Version : 2.00
    10 /////////////////////////////////////////////////
    11 var swap  = "D:\\SWAP";
    12 var sqldir = "D:\\MSSQL";
    13 var sp2    = "D:\\SP2";
    14 var server = sqldir + "\\Servers\\Setup";
    15 var tools  = sqldir + "\\Tools\\Setup"
    16 var log = "D:\\install.log";
    17 
    18 install();
    19 
    20 function install()
    21 {
    22     WScript.Echo("Slipsteaming MSSQL Server 2005 SP2 By Zealic, Playse wait processing");
    23     try
    24     {
    25         installServers();
    26         //exec("RD /Q /S " + swap );
    27         installTools();
    28         sucess();
    29     }
    30     catch(e)
    31     {
    32         WScript.Echo(e.name + " : " + e.message);
    33         fail();
    34     }
    35 }
    36 
    37 function installServers()
    38 {
    39     testRun("XCOPY /Y /H " + sp2 + "\\*.msi " + server);
    40     testRun("msiexec /quiet /a" + server + "\\sqlrun_as.msi TARGETDIR=" + swap + " /L*vx " + log);
    41     testRun("msiexec /quiet /a" + server + "\\sqlrun_dts.msi TARGETDIR=" + swap + " /L*vx " + log);
    42     testRun("msiexec /quiet /a" + server + "\\sqlrun_ns.msi TARGETDIR=" + swap + " /L*vx " + log);
    43     testRun("msiexec /quiet /a" + server + "\\sqlrun_rs.msi TARGETDIR=" + swap + " /L*vx " + log);
    44     testRun("msiexec /quiet /a" + server + "\\sqlrun_sql.msi TARGETDIR=" + swap + " /L*vx " + log);
    45     testRun("msiexec /quiet /a " + swap + "\\sqlrun_as.msi /p " + sp2 + "\\sqlrun_as.msp" + " /L*vx " + log);
    46     testRun("msiexec /quiet /a " + swap + "\\sqlrun_dts.msi /p " + sp2 + "\\sqlrun_dts.msp" + " /L*vx " + log);
    47     testRun("msiexec /quiet /a " + swap + "\\sqlrun_ns.msi /p " + sp2 + "\\sqlrun_ns.msp" + " /L*vx " + log);
    48     testRun("msiexec /quiet /a " + swap + "\\sqlrun_rs.msi /p " + sp2 + "\\sqlrun_rs.msp" + " /L*vx " + log);
    49     testRun("msiexec /quiet /a " + swap + "\\sqlrun_sql.msi /p " + sp2 + "\\sqlrun_sql.msp" + " /L*vx " + log);
    50     testRun("XCOPY /Y /E " + swap + " " + server);
    51 }
    52 
    53 function installTools()
    54 {
    55     testRun("XCOPY /Y /H " + sp2 + "\\*.msi " + tools);
    56     testRun("msiexec /quiet /a" + tools + "\\sqlrun_tools.msi TARGETDIR=" + swap + "2 /L*vx " + log);
    57     testRun("msiexec /quiet /a " + swap + "2\\sqlrun_tools.msi /p " + sp2 + "\\sqlrun_tools.msp" + " /L*vx " + log);
    58     testRun("XCOPY /Y /E " + swap + "" + tools);
    59 }
    60 
    61 function testRun(runStr)
    62 {
    63     var wsh    = new ActiveXObject("Wscript.Shell");
    64     var sys32  = wsh.ExpandEnvironmentStrings("%WINDIR%\\System32");
    65     
    66     wsh.CurrentDirectory = sys32;
    67     var ret    = wsh.Run(runStr,0,true);
    68     if(ret != 0)fail();
    69     return ret;
    70 }
    71 
    72 function exec(runStr)
    73 {
    74     var wsh    = new ActiveXObject("Wscript.Shell");
    75     var shell = wsh.ExpandEnvironmentStrings("%COMSPEC%");
    76     var ret    = wsh.Run(shell + " /K " + runStr,0,true);
    77     if(ret != 0)fail();
    78     wsh.Run(shell + " /K exit",0,true);
    79     return ret;
    80 }
    81 
    82 function fail()
    83 {
    84     WScript.Echo("Process fail! Please retry execute this script, Press 'Enter' to exit.");
    85     //WScript.StdIn.ReadLine();
    86     WScript.Quit();
    87 }
    88 
    89 function sucess()
    90 {
    91     WScript.Echo("Process OK! Press 'Enter' to exit.");
    92     //WScript.StdIn.ReadLine();
    93     WScript.Quit();
    94 }


     

  • 相关阅读:
    labview事件结构
    20180105关于课题所用的labview的改进随笔
    同步FIFO与异步FIFO
    20180110labview串口传输实时显示相关内容
    labview相关内容
    科技英文写作之连词大全
    t-检验
    AngularJS -- 表单验证
    AngularJS -- 过滤器
    AngularJs -- 表达式
  • 原文地址:https://www.cnblogs.com/HollisYao/p/1040379.html
Copyright © 2020-2023  润新知