带有参数的Powershell运行.MSI安装,但Windows Installer弹出但没有任何反应

问题描述 投票:0回答:1

我正在使用Powershell 7安装带有某些参数的.MSI应用程序(使用例如Ansible工具时,具有相同参数的相同安装会很好地通过)。每次我尝试运行脚本时,都会看到有人提到的Windows Installer弹出窗口(有人写道“此弹出窗口是msiexec帮助弹出窗口。它告诉您它不喜欢您的命令行”)。我尝试了几种不同的命令,但总是失败。我看到有类似的问题,但是与接受许可条款完全不同,我对此没有任何问题。

我的论据是:

$webDeployInstallerFilePath = "C:\fa_components\PRIME\SUN TEST 2020.1 (x64).msi"
$switch2 = @(
    "i `"$webDeployInstallerFilePath`""        
    "/quiet"
    "passive"
    "/l* C:\tmp_installation\logs\Prime_log.txt"
    "INSTALLDIR=C:\"
    "FRONTINIDIR=C:\ProgramData\Front\64bit\ini\"
    "FRONTINILOG=C:\ProgramData\Front\64bit\log\"
    "PRIME=C:\TEST Arena\"
    "ProgramMenuFolder=C:\ProgramData\"
    "COMMONAPPDATA_FRONTDIR=C:\ProgramData\Front\"
    "COMMONAPPDATA_FRONT64BITDIR=C:\ProgramData\Front\64bit\"
    "CommonAppDataFolder=C:\ProgramData\"

)

程序需要其中一些必需的参数。我尝试执行它:

Start-Process msiexec.exe -ArgumentList $switch2 -Wait

我尝试运行我的.ps1脚本,但是正如我提到的,我仅使用Windows安装程序获取图片,但没有任何反应(您可以在以下链接上看到它)windows installer picture

提前感谢!

powershell arguments windows-installer msiexec
1个回答
0
投票

是,有一些问题。

  • “ i”应该是“ / i”(注意正斜杠)
  • “ passive”应该为“ / passive”(注意正斜杠)
  • 由于路径中有空格,因此“ PRIME = C:\ TEST Arena \”应为“ PRIME = "C:\TEST Arena\”]

这里的例子:https://www.alkanesolutions.co.uk/2018/07/18/install-and-uninstall-msi-using-powershell/

$switch2 = @(
    "/i `"$webDeployInstallerFilePath`""        
    "/quiet"
    "/passive"
    "/l* C:\tmp_installation\logs\Prime_log.txt"
    "INSTALLDIR=C:\"
    "FRONTINIDIR=C:\ProgramData\Front\64bit\ini\"
    "FRONTINILOG=C:\ProgramData\Front\64bit\log\"
    "PRIME=`"C:\TEST Arena\`""
    "ProgramMenuFolder=C:\ProgramData\"
    "COMMONAPPDATA_FRONTDIR=C:\ProgramData\Front\"
    "COMMONAPPDATA_FRONT64BITDIR=C:\ProgramData\Front\64bit\"
    "CommonAppDataFolder=C:\ProgramData\"

© www.soinside.com 2019 - 2024. All rights reserved.