【问题标题】:Installing sqlcmd in silent mode accepting EULA以静默模式安装 sqlcmd,接受 EULA
【发布时间】:2014-06-11 10:24:09
【问题描述】:

我正在尝试以静默模式安装 sqlcmd,但我不知道如何自动接受 EULA。我要安装的文件名为“MsSqlCmdLnUtils.msi”(从 MS 下载中心下载)。这是我到目前为止所尝试的(通过谷歌找到):

msiexec /i "MsSqlCmdLnUtils.msi" /passive AcceptEndUserLicenseAgreement=1
msiexec /i "MsSqlCmdLnUtils.msi" /passive ACCEPTEULA=1
msiexec /i "MsSqlCmdLnUtils.msi" /passive ACCEPT=1
msiexec /i "MsSqlCmdLnUtils.msi" /passive EULA=1

以及所有使用“=yes”而不是“=1”的组合

我得到的只是 ERRORLEVEL 1603(错误 1603:安装过程中发生致命错误。)

有什么想法吗?

【问题讨论】:

    标签: windows-installer sqlcmd silent-installer


    【解决方案1】:

    经过几个小时的绝望,我终于想出了该怎么做。我正在寻找的属性是“IACCEPTMSSQLCMDLNUTILSLICENSETERMS=YES”和“IACCEPTMSSQLCMDLNUTILSLICENSETERMS=1”也可以。

    命令如下:

    msiexec /i "MsSqlCmdLnUtils.msi" /passive IACCEPTMSSQLCMDLNUTILSLICENSETERMS=YES
    

    感谢 @Microfost 提供出色的文档 -.-

    【讨论】:

    • 七年后,在哭泣和咬牙切齿之后:出于某种我无法完全理解的原因,我不得不用双引号将 EULA 语句括起来以使其起作用,例如:msiexec /i "MsSqlCmdLnUtils.msi" /passive /qn /log ./sqlcmd4.txt "IACCEPTMSSQLCMDLNUTILSLICENSETERMS=YES"我正在执行一个非常相似的安装,使用完全相同的语法,对于这个工具的前身(SQL 17 的 ODBC 驱动程序),它需要一个非常相似的开关(一个全大写的字母声明,宣誓效忠于全能的 EULA),但它没有需要引用。
    【解决方案2】:

    我不知道错误 1603 是由什么引起的,也许是命令行,但我在实际的 MSI 文件中找不到这些是属性名称的证据。 MSI 文件中处理 EULA 的唯一属性名为 AgreeToLicense,其值必须为 Yes,而不是整数 1。这些值似乎区分大小写。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      • 2012-01-21
      • 2015-05-15
      相关资源
      最近更新 更多