繁体   English   中英

如何将安装日志路径传递给Chocolatey中的MSI?

[英]How do I pass the install log path to an MSI in chocolatey?

在ChocolateyInstall.ps1脚本中,它可以工作并安装软件包:

Install-ChocolateyPackage 'GoogleChrome' msi /qn /L*V $toolsDir\GoogleChrome.msi

这给我一个错误:

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).

我建议运行choco new (来自最新版本的Chocolatey)。 您正在调用的方法和调用方式已经过时了。

您需要将所有无声参数作为一个参数传递,现在它正在基于空格将参数拆分:

$silentArgs = "/qn /norestart /l*v `"$env:Temp\GoogleChrome_install.log`""
Install-ChocolateyPackage 'GoogleChrome' msi $silentArgs $toolsDir\GoogleChrome.msi

这是更新的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM