Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2012 从Inno安装程序静默安装SQL Server Express 2012_Sql Server 2012_Installation_Inno Setup_Sql Server 2012 Express - Fatal编程技术网

Sql server 2012 从Inno安装程序静默安装SQL Server Express 2012

Sql server 2012 从Inno安装程序静默安装SQL Server Express 2012,sql-server-2012,installation,inno-setup,sql-server-2012-express,Sql Server 2012,Installation,Inno Setup,Sql Server 2012 Express,我正在尝试从使用Inno Setup创建的应用程序安装程序以静默方式安装SQL Server Express 2012。从命令行运行以下命令时,将安装SQL Server Express 2012,因为我只希望显示安装进度,但不允许用户输入任何输入 有效的命令行命令: C:\Users\Jason\Desktop>SQLEXPR_x86_ENU.exe /ACTION=Install /INSTANCENAME=MYINSTANCE /INSTANCEID=MYINSTANCE /QS /

我正在尝试从使用Inno Setup创建的应用程序安装程序以静默方式安装SQL Server Express 2012。从命令行运行以下命令时,将安装SQL Server Express 2012,因为我只希望显示安装进度,但不允许用户输入任何输入

有效的命令行命令:

C:\Users\Jason\Desktop>SQLEXPR_x86_ENU.exe /ACTION=Install /INSTANCENAME=MYINSTANCE /INSTANCEID=MYINSTANCE /QS /HIDECONSOLE /INDICATEPROGRESS="False" /IAcceptSQLServerLicenseTerms /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSYSADMINACCOUNTS="builtin\administrators" /SKIPRULES="RebootRequiredCheck"
为了从Inno安装脚本执行此操作,我有以下代码:

ExecinstallName, “/ACTION=Install/INSTANCENAME=MYINSTANCE/INSTANCEID=MYINSTANCE/QS/HIDECONSOLE/INDICATEPROGRESS=False/IAcceptSQLServerLicenseTerms/SQLSVCACCOUNT=NT AUTHORITY\NETWORK SERVICE/SQLSYSADMINACCOUNTS=builtin\administrators/SKIPRULES=RebootRequiredCheck”, , SW_秀, ewwaitunterminated, 结果编码; 其中installName=SQLEXPR\u x86\u ENU.exe

从安装程序运行时,SQL Server Express 2012安装程序将启动,但在第一个信息对话框之后,它将显示SQL Server Installation Center窗口,用户必须在安装程序继续之前选择安装类型。他们还必须同意许可协议,这在直接从命令行运行时不是必需的


关于如何从Inno安装程序以静默方式运行安装程序,您有什么想法吗?

将内置\Administrators更改为内置\Users会很好。

问题可能是将命令行参数传递给SQLEXPR\U x86\U ENU.exe 如果使用命令linie运行解压缩的SQL setup.exe,则所有操作都应正常。但是,如果您通过SQLEXPR_x86_ENU.exe传递命令行,它首先提取安装程序,然后使用修改后的命令行运行它-一对引号被删除,或者更确切地说,它只传递第一个字符串作为参数。这就是为什么setup.exe的整个命令行参数应该放在附加引号中的原因 您的命令行应该以“and”开头,以“and”结尾:


如果使用相同的参数,那么在命令行运行和从Inno运行之间应该没有任何区别。但是,有一件事可能会让您在使用SQL Server时遇到麻烦,那就是安装它的位置,{tmp}文件夹有时是一个足够长的路径名,因此安装将失败,因为添加到该文件夹上的SQL Server自己的子文件夹将打破最大路径长度限制。看看如果你在Inno内部和外部的同一个位置运行安装程序会怎么样。我试着在同一个位置运行,但结果相同。安装程序运行正常,但从Inno安装程序运行时仍需要用户输入。我正在使用以下命令行,它对我来说运行正常:/QS/IACCEPTSQLSERVERLICENSETERMS/HIDECONSOLE/ENU/InstanceName=MyInstance/UpdateEnabled=False/Action=Install/Features=SQL/sqlsysadmincounts=BUILTIN\Administrators/sqlsvccount=NTAUTHORITY\NETWORK SERVICE/SQLSVCSTARTUPTYPE=Automatic/browserssvcstartuptype=Automatic从命令行我能够以静默方式启动SQL Server Express安装程序,但当从Inno安装程序执行相同的命令时,它仍会提示用户。我添加了原始示例中缺少的“/FEATURES=SQLENGINE”,但它仍然需要用户输入。许可证接受必须使用大写字母,即/iacceptsqlserverLicenseTerm我将此标记为答案,因为它确实实现了安装程序在静默模式下运行的结果。但是,如果我理解正确,这意味着所有用户无论是否是管理员,都将拥有SQL Server Express数据库实例的系统管理员权限。这是正确的吗?
'"/ACTION=Install /INSTANCENAME=MYINSTANCE /INSTANCEID=MYINSTANCE /QS /HIDECONSOLE /INDICATEPROGRESS="False" /IAcceptSQLServerLicenseTerms /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /SQLSYSADMINACCOUNTS="builtin\administrators" /SKIPRULES="RebootRequiredCheck""'