我正在尝试以静默模式安装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:安装过程中发生了致命错误。)
有什么想法吗?
答案 0 :(得分:5)
经过几个小时的绝望之后,我终于想出了该怎么做。我正在寻找的属性是" IACCEPTMSSQLCMDLNUTILSLICENSETERMS = YES"和" IACCEPTMSSQLCMDLNUTILSLICENSETERMS = 1"同样有效。
所以这是命令:
msiexec /i "MsSqlCmdLnUtils.msi" /passive IACCEPTMSSQLCMDLNUTILSLICENSETERMS=YES
THX @ Microfost提供了很棒的文档-.-
答案 1 :(得分:0)
我不知道1603是由命令行导致的错误1603,但我在实际的MSI文件中找不到那些属性名称的证据。 MSI文件中处理EULA的唯一属性名为AgreeToLicense,其值必须为Yes,而不是整数1.值似乎区分大小写。