我正在尝试使用powershell运行msi安装程序文件。下面是我的电源shell代码: -
$argumentlist = "/i D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi /qn /l*v D:\FolderTest\InstallLog.log"
Start-Process -FilePath "C:\Windows\System32\msiexec.exe" -ArgumentList $argumentlist
每次我尝试运行此代码时,Windows安装程序会显示告诉我argumentList变量未正确设置。谁能告诉我这段代码有什么问题?
答案 0 :(得分:1)
我认为msi文件名中的空格是阻止msiexec正常工作的原因。尝试类似:
$argumentlist = "/i 'D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi' /qn /l*v D:\FolderTest\InstallLog.log"
答案 1 :(得分:1)
PowerShell是一个shell。它旨在运行您键入的命令。您不需要使用Start-Process
。只需输入命令,然后按Enter
。
PS C:\> msiexec /i "D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi" /qn /l*v "D:\FolderTest\InstallLog.log"
与任何命令一样,如果参数包含空格,请将其括在引号中。