EXE静默安装

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

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

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

通过在参数列表中给出

/s
,它应该在没有用户干预的情况下静默安装,但会显示一个弹出窗口

即使我尝试使用

winrar.exe
zip.exe
文件也给出相同的结果。这是正确的做法吗?

powershell powershell-3.0
10个回答
16
投票

您尝试过以下命令吗?

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

8
投票

试试这个:

Start-Process -Wait -FilePath C:\setup.exe -Argument "/silent" -PassThru

7
投票

请尝试这个:

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

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

执行文件的引号不一定。


2
投票

我知道这篇文章非常旧,但我觉得我可以分享一些关于此事的见解

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

certutil -addstore "TrustedPublisher" <PathTo.cerFile> >nul 2>nul

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

我希望这对 Ramesh 以及其他将来发现此问题的人有帮助


1
投票

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

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


0
投票
$Arguments = @(
    "/S"
    "/V/qn"
    )

Start-Process -FilePath “application.exe” -ArgumentList $Arguments -Wait -NoNewWindow

0
投票

USSF(通用静音开关查找器)帮助我找到了可执行文件的正确开关。之后,静默安装对我有用。 我从这里开始了解它:https://www.pdq.com/blog/install-silent-finding-silent-parameters/


-2
投票

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

  1. 进入控制面板 -> 系统和安全 -> 安全和维护
  2. 单击更改用户帐户控制设置。
  3. 将滑块设置为“从不通知”。

这可能有风险 - 但它有效。


-2
投票

添加 -NoNewWindow 以停止弹出窗口

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