EXE静默安装

时间:2015-09-22 09:17:59

标签: powershell powershell-v3.0

我有以下PowerShell脚本来安装应用程序而无需用户干预:

Start-Process -FilePath "C:\Temp\UpgradeClientInstaller\setup.exe" -ArgumentList "/S /v/qn"

通过在参数列表中提供/s,它应该静默安装,无需用户干预,但弹出窗口显示powershell issue

即使我尝试使用winrar.exezip.exe文件也能获得相同的结果。这是正确的方法吗?

8 个答案:

答案 0 :(得分:5)

请试试这个:

$pathvargs = {C:\Temp\UpgradeClientInstaller\setup.exe /S /v/qn }
Invoke-Command -ScriptBlock $pathvargs

答案 1 :(得分:2)

您是否尝试过以下操作:

Start-Process -Wait -FilePath" C:\ Setup.exe" -ArgumentList" / S" -PassThru

答案 2 :(得分:1)

我知道这个帖子很旧,但我觉得我可以分享一些关于这个问题的见解

几年前我不得不做类似的事情。当您在提示上单击“安装”时,它所做的就是将证书添加到 TrustedPublisher 存储中。如果您在运行安装程序之前手动将其添加到证书管理器,则可以避免该提示。
我发现如果你在测试机器上安装程序,你可以从 certmgr.msc 中导出 Cert。然后您可以使用以下方法安装证书:

NOT NULL

这会将证书安装到 TrustedPublisher 存储,因此无需显示该消息。

我希望这能帮助 Ramesh 以及将来发现它的任何人

答案 3 :(得分:0)

您的问题似乎是Windows UAC,而不是脚本本身。

  1. 转到控制面板 - >系统和安全 - >安全和维护
  2. 单击“更改用户帐户控制设置”。
  3. 将滑块设置为“从不通知”。
  4. 这可能有风险 - 但它确实有效。

答案 4 :(得分:0)

尝试一下:

Start-Process -FilePath C:\setup.exe -Args '/silent /install' -Verb RunAs -Wait;

答案 5 :(得分:0)

Start-Process -Wait -FilePath "\full\path\setup.exe" -ArgumentList '/S','/v','/qn' -passthru

执行文件的引号不一定。

答案 6 :(得分:0)

使用此命令,它不会要求您单击下一步并安装软件。

启动过程-等待-ArgumentList“ / silent” -PassThru -FilePath'C:\ Users \ filename.exe'

答案 7 :(得分:-1)

添加-NoNewWindow以停止弹出窗口