我已下载sql server express edition 2017,并希望通过Powershell自动安装。请记住,因为它是快速的,它没有配置文件。下载后,我必须通过运行该exe文件手动提取文件夹,该文件包含实际的SETUP.EXE。最后,我尝试进行静默安装,但失败并出现0x84B40003错误。
我所做的是:
// Download the file from the Microsoft website
$url = "https://go.microsoft.com/fwlink/?linkid=853017"
$output = "C:\Users\sysadmin\mySql.exe"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($url, $output)
// Manually extract the folder containing the SETUP.EXE
// Try to do a silent install
"C:\Users\sysadmin\Downloads\SQLEXPRADV_x64_ENU\SETUP.EXE" -ArgumentList "/s" -Wait
最后一步失败,并带有以下
SQL Server安装程序遇到以下错误:
设置' S'指定无法识别。
错误代码0x84B40003。
答案 0 :(得分:1)
-ArgumentList
不是SQL的SETUP.EXE
程序的参数。这是Start-Process
cmdlet的PowerShell参数。我认为你不需要这么努力。
C:\Users\sysadmin\Downloads\SQLEXPRADV_x64_ENU\SETUP.EXE /s
即,只需将可执行文件名放在命令行上,然后输入所需的参数即可。在PowerShell中,如果可执行文件的路径或文件名包含空格,请将其括在引号中并使用&
运算符调用它; e.g:
& "C:\Path with spaces\SETUP.EXE" /s
但是,只有/s
参数可能不足以进行完全无人参与的安装。为此,您需要查阅文档。这个答案旨在澄清在PowerShell中运行可执行文件的基本误解 - 只需运行它们。