EXE静默安装
EXE silent installation
我有以下 PowerShell 脚本来安装应用程序而无需用户干预:
Start-Process -FilePath "C:\Temp\UpgradeClientInstaller\setup.exe" -ArgumentList "/S /v/qn"
通过在参数列表中给出 /s
,它应该在没有用户干预的情况下静默安装,但是弹出窗口显示
即使我尝试使用 winrar.exe
和 zip.exe
文件也给出相同的结果。这是正确的做法吗?
请试试这个:
$pathvargs = {C:\Temp\UpgradeClientInstaller\setup.exe /S /v/qn }
Invoke-Command -ScriptBlock $pathvargs
您是否尝试过以下命令?
Start-Process -Wait -FilePath "C:\Setup.exe" -ArgumentList "/S" -PassThru
您的问题似乎是 Windows UAC 而不是脚本本身。
- 转到控制面板 -> 系统和安全 -> 安全和维护
- 单击更改用户帐户控制设置。
- 将滑块设置为 "Never Notify"。
这可能有风险 - 但它有效。
添加 -NoNewWindow 以停止弹出窗口
试试这个:
Start-Process -Wait -FilePath C:\setup.exe -Argument "/silent" -PassThru
Start-Process -Wait -FilePath "\full\path\setup.exe" -ArgumentList '/S','/v','/qn' -passthru
执行文件的引号不一定。
使用这个命令它不会要求任何点击下一步并安装软件。
Start-Process -Wait -ArgumentList "/silent" -PassThru -FilePath 'C:\Users\filename.exe'
我知道 post 太老了,但我觉得我可以分享一些关于此事的见解
几年前我不得不做类似的事情。当您在提示中单击“安装”时,它所做的只是将证书添加到 TrustedPublisher 商店。如果您在 运行 安装程序之前手动将其添加到证书管理器,则可以避免该提示。
我发现如果你在测试机器上安装程序,你可以从 certmgr.msc 导出证书。然后您可以使用以下命令安装证书:
certutil -addstore "TrustedPublisher" <PathTo.cerFile> >nul 2>nul
这会将证书安装到 TrustedPublisher 存储区,因此无需显示该消息。
我希望这对 Ramesh 以及将来发现此问题的任何其他人有所帮助
我有以下 PowerShell 脚本来安装应用程序而无需用户干预:
Start-Process -FilePath "C:\Temp\UpgradeClientInstaller\setup.exe" -ArgumentList "/S /v/qn"
通过在参数列表中给出 /s
,它应该在没有用户干预的情况下静默安装,但是弹出窗口显示
即使我尝试使用 winrar.exe
和 zip.exe
文件也给出相同的结果。这是正确的做法吗?
请试试这个:
$pathvargs = {C:\Temp\UpgradeClientInstaller\setup.exe /S /v/qn }
Invoke-Command -ScriptBlock $pathvargs
您是否尝试过以下命令?
Start-Process -Wait -FilePath "C:\Setup.exe" -ArgumentList "/S" -PassThru
您的问题似乎是 Windows UAC 而不是脚本本身。
- 转到控制面板 -> 系统和安全 -> 安全和维护
- 单击更改用户帐户控制设置。
- 将滑块设置为 "Never Notify"。
这可能有风险 - 但它有效。
添加 -NoNewWindow 以停止弹出窗口
试试这个:
Start-Process -Wait -FilePath C:\setup.exe -Argument "/silent" -PassThru
Start-Process -Wait -FilePath "\full\path\setup.exe" -ArgumentList '/S','/v','/qn' -passthru
执行文件的引号不一定。
使用这个命令它不会要求任何点击下一步并安装软件。
Start-Process -Wait -ArgumentList "/silent" -PassThru -FilePath 'C:\Users\filename.exe'
我知道 post 太老了,但我觉得我可以分享一些关于此事的见解
几年前我不得不做类似的事情。当您在提示中单击“安装”时,它所做的只是将证书添加到 TrustedPublisher 商店。如果您在 运行 安装程序之前手动将其添加到证书管理器,则可以避免该提示。
我发现如果你在测试机器上安装程序,你可以从 certmgr.msc 导出证书。然后您可以使用以下命令安装证书:
certutil -addstore "TrustedPublisher" <PathTo.cerFile> >nul 2>nul
这会将证书安装到 TrustedPublisher 存储区,因此无需显示该消息。
我希望这对 Ramesh 以及将来发现此问题的任何其他人有所帮助