【问题标题】:Power Shell Invoking an MSIPowershell 调用 MSI
【发布时间】:2016-11-12 16:48:55
【问题描述】:
我正在尝试使用 powershell 运行 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 安装程序都会出现并告诉我 argumentList 变量设置不正确。谁能告诉我这段代码有什么问题?
【问题讨论】:
标签:
powershell
windows-installer
installation
【解决方案1】:
我认为 msi 文件名中的空格是阻止 msiexec 正常工作的原因。尝试类似:
$argumentlist = "/i 'D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi' /qn /l*v D:\FolderTest\InstallLog.log"
【解决方案2】:
PowerShell 是一个外壳。它旨在运行您键入的命令。你不需要使用Start-Process。只需输入命令并按Enter。
PS C:\> msiexec /i "D:\FolderTest\InstallerTest 1.9.0.39621 Setup.msi" /qn /l*v "D:\FolderTest\InstallLog.log"
与任何命令一样,如果参数包含空格,请将其括在引号中。