我在部署项目的时候,需要用批处理无人值守安装SQLserver,.Net等组件。
创新互联建站专注于榆树企业网站建设,响应式网站,电子商务商城网站建设。榆树网站建设公司,为榆树等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
于是查了微软官方文档,其中一项内容如下:http://msdn.microsoft.com/zh-cn/library/ms144259.aspx
SQL Server 安装程序控件
| /IACCEPTSQLSERVERLICENSETERMS
仅在为无人参与安装指定了 /Q 或 /QS 参数时是必需的。 | 必需,用于确认接受许可条款。 |
请注意,此项提示将“无人参与安装指定了 /Q 或 /QS 参数时是必需的”重点标识了。
并且,给出了一个示例,内容如下:
安装新的具有 SQL Server 数据库引擎、复制和全文搜索组件的独立实例。
Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="" /SQLSVCPASSWORD="" /SQLSYSADMINACCOUNTS="" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /IACCEPTSQLSERVERLICENSETERMS
在我多次安装均出错的情况下,先解压了安装包,再进行命令行下手工尝试,得到错误为“无法识别指定的设置“IACCEPTSQLSERVERLICENSETERMS”。”
我尝试删除了 /IACCEPTSQLSERVERLICENSETERMS 参数。出人意料的竟然成功了。
这,这简直就是坑爹啊!!!
【PS:经560889223提醒,我专门又查了一次文档,VS2010的部署项目所提供的SQL2008不是R2版的,而这个参数是R2独有且必须的,其它版本加了这个参数之后,便无法安装,非微软文档之错,在此更正。】
下面给出一个我写的批处理,希望给有相同需求的朋友一些提示或帮助。
- @echo off
- for /f "delims=[] tokens=2" %%i in ('ver') do set MyVer=%%i
- for /f "tokens=2" %%i in ('echo %MyVer%') do set MyVer=%%i
- for /f "tokens=1,2,3 delims=. " %%i in ( 'echo %MyVer% ') do (
- set MajorVer=%%i
- set MinorVer=%%j
- set BuildNum=%%k
- )
- set MajorVer= %MajorVer%.%MinorVer%
- if /I %MajorVer% == 5.1 (
- GOTO XP
- )
- if /I %MajorVer% == 5.2 (
- GOTO 2003
- )
- if /I %MajorVer% == 6.0 (
- GOTO Vista
- )
- if /I %MajorVer% == 6.1 (
- GOTO STARTSETUP
- )
- :XP
- set INSTALLER45="WindowsInstaller4_5\WindowsXP-KB942288-v3-x86.exe"
- echo 正在安装 Windows Installer4.5...
- %INSTALLER45% /quiet /norestart /nobackup /passive
- goto STARTSETUP
- :2003
- set INSTALLER45="WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x86.exe"
- echo 正在安装 Windows Installer4.5...
- %INSTALLER45% /quiet /norestart /nobackup /passive
- goto STARTSETUP
- :Vista
- set INSTALLER45="WindowsInstaller4_5\Windows6.0-KB958655-v2-x86.MSU"
- echo 正在安装 Windows Installer4.5...
- %INSTALLER45% /quiet /norestart /nobackup /passive
- goto STARTSETUP
- :STARTSETUP
- set DOTNETFX40="DotNetFX40\dotNetFx40_Full_x86_x64.exe"
- set DOTNETFX40ZH="DotNetFX40\dotNetFx40LP_Full_x86_x64zh-Hans.exe"
- set SQL2008="SqlExpress2008\SQLEXPR32_x86_CHS.EXE"
- echo 正在安装 dotNetFx40...
- %DOTNETFX40% /lang:ENU /norestart /passive
- %DOTNETFX40ZH% /norestart /passive
- echo 正在安装 SQLserver 2008 Express...
- %SQL2008% /qs /ACTION=Install /FEATURES=SQL /INSTANCENAME=SQLEXPRESS /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="NT AUTHORITY\SYSTEM" /AGTSVCACCOUNT="NT AUTHORITY\Network Service"
当前题目:SQL无人值守安装的IACCEPTSQLSERVERLICENSETERMS参数
网站地址:http://www.36103.cn/qtweb/news14/1064.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联