这是基于我之前的问题,我在接受的答案中使用脚本:https://stackoverflow.com/a/51933920/3737177
我设法通过ps1脚本下载了exe,但似乎已损坏。如果将其与通过浏览器下载的文件进行比较,则它们看起来相同。相同的文件版本,相同的SHA,但使用脚本下载的版本却出现错误:
如果我尝试从脚本“。\ ChromeStandaloneSetup.exe / install”执行它,则有更多信息,但这也无济于事:
任何想法,为什么通过PowerShell下载该exe时会损坏?或更确切地说,如何解决?
我在PowerShell V4.0和5.1上进行了尝试,因此使用了Invoke-WebRequest。
答案 0 :(得分:1)
我能够重现并遇到相同的错误。即使我从该解决方案中提供的URL手动下载了安装程序。
当我使用BITS(比Invoke-WebRequest快得多)从https://enterprise.google.com/chrome/chrome-browser/下载.msi时,我能够以静默方式安装Google Chrome。
$uri = "https://dl.google.com/chrome/install/googlechromestandaloneenterprise64.msi"
if (-not $PSScriptRoot) {
$PSScriptRoot = Split-Path -Parent -Path $script:MyInvocation.MyCommand.Definition
}
$outFile = "$PSScriptRoot\googlechromestandaloneenterprise64.msi"
Start-BitsTransfer -Source $uri -Destination $outFile
Start-Process -FilePath $outFile -Args "/qn" -Wait