win2k3SP2,VS2005SP1,SQL2005SP2整合方法分析小结
作者:
一直安装和整合Microsoft Visual Studio 2005 SP1都搞不定,老是出现文件授权错误,后来多方查找信息,总算解决了。
以下动作将会防止出现以下错误
您尝试在 Windows Server 2003 或 WindowsXP 中安装大 WindowsInstaller 包或大型 WindowsInstaller 修补程序包时错误信息: " Error 1718。 文件被数字签名策略拒绝 "
原因:
当计算机有连续不足用于 WindowsServer 2003 或 WindowsXP 来验证 .msi 程序包或 .msp 包正确签名发生此问题。
his problem occurs when the computer has insufficient contiguous memory for Windows Server 2003 or Windows XP to verify that the .msi package or the .msp package is correctly signed.
解决
1.打开 软件限制策略。开始 -> 管理员工具 -> 本地安全策略 -> 软件限制策略
2.如果列出的没有软件限制右键单击 软件限制策略 , 然后单击 新建策略 。
3.在 对象类型 , 双击 强制 。
4.单击 除本地管理员以外的所有用户 , 并单击 确定 。
5.重新启动计算机。
将SP整合进安装包
首先,需要大于3G的硬盘空间(解压VS2005用),这个补丁只会应用到VS2005上,和MSND是没有啥关系的.
1.解压VS2005.
首先需要把VS2005安装光盘内的安装文件解压在我们的硬盘上:
msiexec.exe /a F:\vs_setup.msi TARGETDIR=D:\VSSETUP /L*vx install.log
其中F:\ vs_setup.msi 是VS2005安装文件的路径.
TARGETDIR=D:\VSSETUP 这个是指定要解压到的位置,大概5分钟左右,解压出了3G的文件.
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();
}
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 的更新,无需整合。
最后就是Windows 2003 R2 SP2的整合了,很简单的一句话:
在后来的安装过程中,出现了一点小问题,导致我浪费了8个小时,又把这3个重新装了一次。因为安装中瑞星老是弹出拦截框,安装就会中断一下,所以我索性把瑞星的监控全部关掉了。然后所有东西安装完后重起,就一直在进入系统的时候自动关闭系统重起。后来很无赖地用最后一次成功启动进入系统,把瑞星监控打开,再重起就没问题了。
WAWA同学用这几天打散工赚的钱买了一个PSP,然后我就抢过来体验了一下高中时候天天旷课玩的皇牌空战,爽啊!后来又发现居然这家伙还可以上网,于是打开VIEW看了,发现效果还不错,保持了95%的样式,但是JS好像没办法运行。
您尝试在 Windows Server 2003 或 WindowsXP 中安装大 WindowsInstaller 包或大型 WindowsInstaller 修补程序包时错误信息: " Error 1718。 文件被数字签名策略拒绝 "
原因:
当计算机有连续不足用于 WindowsServer 2003 或 WindowsXP 来验证 .msi 程序包或 .msp 包正确签名发生此问题。
his problem occurs when the computer has insufficient contiguous memory for Windows Server 2003 or Windows XP to verify that the .msi package or the .msp package is correctly signed.
解决
1.打开 软件限制策略。开始 -> 管理员工具 -> 本地安全策略 -> 软件限制策略
2.如果列出的没有软件限制右键单击 软件限制策略 , 然后单击 新建策略 。
3.在 对象类型 , 双击 强制 。
4.单击 除本地管理员以外的所有用户 , 并单击 确定 。
5.重新启动计算机。
将SP整合进安装包
首先,需要大于3G的硬盘空间(解压VS2005用),这个补丁只会应用到VS2005上,和MSND是没有啥关系的.
1.解压VS2005.
首先需要把VS2005安装光盘内的安装文件解压在我们的硬盘上:
复制代码 代码如下:
msiexec.exe /a F:\vs_setup.msi TARGETDIR=D:\VSSETUP /L*vx install.log
其中F:\ vs_setup.msi 是VS2005安装文件的路径.
TARGETDIR=D:\VSSETUP 这个是指定要解压到的位置,大概5分钟左右,解压出了3G的文件.
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();
}
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 的更新,无需整合。
最后就是Windows 2003 R2 SP2的整合了,很简单的一句话:
D:\WindowsServer2003-KB914961-SP2-x86-CHS.exe /integrate:D:\win2k3 /n
在后来的安装过程中,出现了一点小问题,导致我浪费了8个小时,又把这3个重新装了一次。因为安装中瑞星老是弹出拦截框,安装就会中断一下,所以我索性把瑞星的监控全部关掉了。然后所有东西安装完后重起,就一直在进入系统的时候自动关闭系统重起。后来很无赖地用最后一次成功启动进入系统,把瑞星监控打开,再重起就没问题了。
WAWA同学用这几天打散工赚的钱买了一个PSP,然后我就抢过来体验了一下高中时候天天旷课玩的皇牌空战,爽啊!后来又发现居然这家伙还可以上网,于是打开VIEW看了,发现效果还不错,保持了95%的样式,但是JS好像没办法运行。