2016-11-12 34 views
0

我想用powershell運行msi安裝程序文件。下面是我的力量shell代碼: -Power Shell調用MSI

$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安裝程序似乎告訴我,參數列表變量心不是正確設置來運行該代碼。有人可以告訴我這個代碼有什麼問題嗎?

回答

1

我認爲msi文件名中的空格是阻止msiexec正常工作的原因。嘗試類似:
$argumentlist = "/i 'D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi' /qn /l*v D:\FolderTest\InstallLog.log"

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" 

與任何命令一樣,如果參數包含空格,請將其用引號引起來。