Power Shell调用MSI

时间:2016-11-12 16:48:55

标签: powershell windows-installer installer

我正在尝试使用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变量未正确设置。谁能告诉我这段代码有什么问题?

2 个答案:

答案 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"

与任何命令一样,如果参数包含空格,请将其括在引号中。