[英]How do I pass the install log path to an MSI in chocolatey?
In the chocolateyInstall.ps1 script this works and installs the package: 在ChocolateyInstall.ps1脚本中,它可以工作并安装软件包:
Install-ChocolateyPackage 'GoogleChrome' msi /qn /L*V $toolsDir\GoogleChrome.msi
This gives me an error: 这给我一个错误:
Install-ChocolateyPackage 'GoogleChrome' msi /qn /L*V C:\Windows\temp\GoogleChrome_install.log $toolsDir\GoogleChrome.msi
Attempt to use original download file name failed for 'C:\Windows\temp\GoogleChrome_install.log'.
Copying GoogleChrome
from 'C:\Windows\temp\GoogleChrome_install.log'
Cannot find path 'C:\Windows\temp\GoogleChrome_install.log' because it does not exist.
ERROR: Chocolatey expected a file to be downloaded to 'C:\Users\Administrator\AppData\Local\Temp\2\chocolatey\GoogleChro
me\54.0.2840.71\GoogleChromeInstall.msi' but nothing exists at that location.
The install of googlechrome was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\GoogleChrome\tools\chocolateyInstall.ps1'.
See log for details.
Chocolatey installed 0/1 packages. 1 packages failed.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
I would suggest running choco new
(from the latest version of Chocolatey). 我建议运行
choco new
(来自最新版本的Chocolatey)。 The method you are calling and the way you are calling it is kind of outdated. 您正在调用的方法和调用方式已经过时了。
You need to be passing your silent arguments all as one argument, right now it is splitting the argument up based on spaces: 您需要将所有无声参数作为一个参数传递,现在它正在基于空格将参数拆分:
$silentArgs = "/qn /norestart /l*v `"$env:Temp\GoogleChrome_install.log`""
Install-ChocolateyPackage 'GoogleChrome' msi $silentArgs $toolsDir\GoogleChrome.msi
Here's what newer chocolateyInstall.ps1 files look like: 这是更新的ChocolateyInstall.ps1文件的外观:
$ErrorActionPreference = 'Stop'
$packageName = 'Google-Chrome'
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$fileLocation = Join-Path $toolsDir 'GoogleChrome.msi'
$fileLocation64 = Join-Path $toolsDir 'GoogleChrome64.msi'
if (Get-ProcessorBits 64) {
$forceX86 = $env:chocolateyForceX86
if ($forceX86 -eq 'true') {
Write-Debug "User specified '-x86' so forcing 32-bit"
} else {
$fileLocation = $fileLocation64
}
}
$packageArgs = @{
packageName = $packageName
softwareName = 'Google Chrome*'
file = $fileLocation
fileType = 'msi'
silentArgs = "/qn /norestart /l*v `"$env:Temp\GoogleChrome_install.log`""
validExitCodes= @(0,1641,3010)
}
Install-ChocolateyInstallPackage @packageArgs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.