Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot override remembered install arguments on upgrade #2761

Open
opoplawski opened this issue Jul 11, 2022 · 3 comments · May be fixed by #3003
Open

Cannot override remembered install arguments on upgrade #2761

opoplawski opened this issue Jul 11, 2022 · 3 comments · May be fixed by #3003
Assignees
Milestone

Comments

@opoplawski
Copy link

What You Are Seeing?

When upgrading a single package, I cannot add additional options. E.g. if thunderbird was installed with:

choco install thunderbird --version 102.0.0 --force  -y --package-parameters='/l:en-US'

and I upgrade with:

choco upgrade thunderbird --fail-on-unfound --yes --no-progress --params "/NoStop /l:en-US" --timeout 14400 --debug

I get:

Chocolatey v1.1.0
Chocolatey is running on Windows v 10.0.19044.0
Command line: "C:\ProgramData\chocolatey\choco.exe" upgrade thunderbird --fail-on-unfound --yes --no-progress --params "/NoStop /l:en-US" --timeout 14400 --debug
Received arguments: upgrade thunderbird --fail-on-unfound --yes --no-progress --params /NoStop /l:en-US --timeout 14400 --debug
Performing validation checks.
Global Configuration Validation Checks:
 - Package Exit Code / Exit On Reboot = Checked
System State Validation Checks:
 Reboot Requirement Checks:
 - Pending Computer Rename = Checked
 - Pending Component Based Servicing = Checked
 - Pending Windows Auto Update = Checked
 - Pending File Rename Operations = Ignored
 - Pending Windows Package Installer = Checked
 - Pending Windows Package Installer SysWow64 = Checked
The source 'https://chocolatey.org/api/v2/' evaluated to a 'normal' source type

NOTE: Hiding sensitive configuration data! Please double and triple
 check to be sure no sensitive data is shown, especially if copying
 output to a gist for review.
Configuration: CommandName='upgrade'|
CacheLocation='C:\Users\orion-admin\AppData\Local\Temp\chocolatey'|
ContainsLegacyPackageInstalls='True'|
CommandExecutionTimeoutSeconds='14400'|WebRequestTimeoutSeconds='130'|
Sources='https://chocolatey.org/api/v2/'|SourceType='normal'|
Debug='True'|Verbose='False'|Trace='False'|Force='False'|Noop='False'|
HelpRequested='False'|UnsuccessfulParsing='False'|RegularOutput='True'|
QuietOutput='False'|PromptForConfirmation='False'|
DisableCompatibilityChecks='False'|AcceptLicense='True'|
AllowUnofficialBuild='False'|Input='thunderbird'|AllVersions='False'|
SkipPackageInstallProvider='False'|PackageNames='thunderbird'|
Prerelease='False'|ForceX86='False'|OverrideArguments='False'|
NotSilent='False'|PackageParameters='/NoStop /l:en-US'|
ApplyPackageParametersToDependencies='False'|
ApplyInstallArgumentsToDependencies='False'|IgnoreDependencies='False'|
AllowMultipleVersions='False'|AllowDowngrade='False'|
ForceDependencies='False'|Information.PlatformType='Windows'|
Information.PlatformVersion='10.0.19044.0'|
Information.PlatformName='Windows 10'|
Information.ChocolateyVersion='1.1.0.0'|
Information.ChocolateyProductVersion='1.1.0'|
Information.FullName='choco, Version=1.1.0.0, Culture=neutral, PublicKeyToken=79d02ea9cad655eb'|

Information.Is64BitOperatingSystem='True'|
Information.Is64BitProcess='True'|Information.IsInteractive='True'|
Information.UserName='orion-admin'|Information.UserDomainName='NWRA'|
Information.IsUserAdministrator='True'|
Information.IsUserSystemAccount='False'|
Information.IsUserRemoteDesktop='False'|
Information.IsUserRemote='True'|
Information.IsProcessElevated='True'|
Information.IsLicensedVersion='False'|Information.LicenseType='Foss'|
Information.CurrentDirectory='C:\WINDOWS\system32'|
Features.AutoUninstaller='True'|Features.ChecksumFiles='True'|
Features.AllowEmptyChecksums='False'|
Features.AllowEmptyChecksumsSecure='True'|
Features.FailOnAutoUninstaller='False'|
Features.FailOnStandardError='False'|Features.UsePowerShellHost='True'|
Features.LogEnvironmentValues='False'|Features.LogWithoutColor='False'|
Features.VirusCheck='False'|
Features.FailOnInvalidOrMissingLicense='False'|
Features.IgnoreInvalidOptionsSwitches='True'|
Features.UsePackageExitCodes='True'|
Features.UseEnhancedExitCodes='False'|
Features.UseFipsCompliantChecksums='True'|
Features.ShowNonElevatedWarnings='True'|
Features.ShowDownloadProgress='False'|
Features.StopOnFirstPackageFailure='False'|
Features.UseRememberedArgumentsForUpgrades='True'|
Features.IgnoreUnfoundPackagesOnUpgradeOutdated='False'|
Features.SkipPackageUpgradesWhenNotInstalled='False'|
Features.RemovePackageInformationOnUninstall='False'|
Features.ExitOnRebootDetected='False'|
Features.LogValidationResultsOnWarnings='True'|
Features.UsePackageRepositoryOptimizations='True'|
ListCommand.LocalOnly='False'|ListCommand.IdOnly='False'|
ListCommand.IncludeRegistryPrograms='False'|ListCommand.PageSize='25'|
ListCommand.Exact='False'|ListCommand.ByIdOnly='False'|
ListCommand.ByTagOnly='False'|ListCommand.IdStartsWith='False'|
ListCommand.OrderByPopularity='False'|ListCommand.ApprovedOnly='False'|
ListCommand.DownloadCacheAvailable='False'|
ListCommand.NotBroken='False'|
ListCommand.IncludeVersionOverrides='False'|
UpgradeCommand.FailOnUnfound='True'|
UpgradeCommand.FailOnNotInstalled='False'|
UpgradeCommand.NotifyOnlyAvailableUpgrades='False'|
UpgradeCommand.ExcludePrerelease='False'|
NewCommand.AutomaticPackage='False'|
NewCommand.UseOriginalTemplate='False'|SourceCommand.Command='unknown'|
SourceCommand.Priority='0'|SourceCommand.BypassProxy='False'|
SourceCommand.AllowSelfService='False'|
SourceCommand.VisibleToAdminsOnly='False'|
FeatureCommand.Command='unknown'|ConfigCommand.Command='unknown'|
ApiKeyCommand.Remove='False'|PinCommand.Command='unknown'|
OutdatedCommand.IgnorePinned='False'|
ExportCommand.IncludeVersionNumbers='False'|
Proxy.Location='http://nwprox:ieya8sheeT+e@webfilter-bld.nwra.com:8080'|

Proxy.BypassList='localhost,127.0.0.0/8,::1,10.0.0.0/8,192.168.0.0/16,.nwra.com'|

Proxy.BypassOnLocal='True'|TemplateCommand.Command='unknown'|
_ Chocolatey:ChocolateyUpgradeCommand - Normal Run Mode _
Upgrading the following packages:
thunderbird
By upgrading, you accept licenses for the packages.
Using proxy server 'http://nwprox:ieya8sheeT+e@webfilter-bld.nwra.com:8080'.
Proxy has a bypass list of 'localhost,127.0.0.0/8,::1,10.0.0.0/8,192.168.0.0/16,.nwra.com'.
Using 'https://chocolatey.org/api/v2/'.
- Supports prereleases? 'True'.
- Is ServiceBased? 'True'.
Package 'thunderbird' found on source 'https://chocolatey.org/api/v2/'

You have thunderbird v102.0 installed. Version 102.0.1 is available based on your source(s).
Backing up existing thunderbird prior to operation.
Deleting file C:\ProgramData\chocolatey\lib\thunderbird\tools\chocolateyInstall.ps1
Deleting file C:\ProgramData\chocolatey\lib\thunderbird\tools\chocolateyUninstall.ps1
Capturing package files in 'C:\ProgramData\chocolatey\lib\thunderbird'
[NuGet] Removed file 'helpers.ps1' to folder 'C:\ProgramData\chocolatey\lib\thunderbird\tools'.
[NuGet] Removed file 'LanguageChecksums.csv' to folder 'C:\ProgramData\chocolatey\lib\thunderbird\tools'.
[NuGet] Removed folder 'C:\ProgramData\chocolatey\lib\thunderbird\tools'.
[NuGet] Removed file 'thunderbird.nuspec' to folder 'C:\ProgramData\chocolatey\lib\thunderbird'.
[NuGet] Removed file 'thunderbird.nupkg' to folder 'C:\ProgramData\chocolatey\lib\thunderbird'.
[NuGet] Removed folder 'C:\ProgramData\chocolatey\lib\thunderbird'.
[NuGet] Added file 'chocolateyInstall.ps1' to folder 'thunderbird\tools'.
[NuGet] Added file 'chocolateyUninstall.ps1' to folder 'thunderbird\tools'.
[NuGet] Added file 'helpers.ps1' to folder 'thunderbird\tools'.
[NuGet] Added file 'LanguageChecksums.csv' to folder 'thunderbird\tools'.
[NuGet] Added file 'thunderbird.nupkg' to folder 'thunderbird'.
[NuGet] Added file 'thunderbird.nuspec' to folder 'thunderbird'.

thunderbird v102.0.1 [Approved]
thunderbird package files upgrade completed. Performing other installation steps.
Contents of 'C:\ProgramData\chocolatey\lib\thunderbird\tools\chocolateyInstall.ps1':
# This is the general install script for Mozilla products (Firefox and Thunderbird).
# This file must be identical for all Choco packages for Mozilla products in this repository.

$ErrorActionPreference = 'Stop'

$toolsPath = Split-Path $MyInvocation.MyCommand.Definition
. $toolsPath\helpers.ps1

$packageName  = 'thunderbird'
$softwareName = 'Mozilla Thunderbird'

$pp = Get-PackageParameters

if (Get-32bitOnlyInstalled -product $softwareName) { Write-Host 'Detected the 32-bit version of Thunderbird on a 64-bit system. This package will continue to install the 32-bit version of Thunderbird unless the 32-bit version is uninstalled.' }

$sa = ""

# Command Line Options from the Thunderbird (and Firefox) installer
# https://firefox-source-docs.mozilla.org/browser/installer/windows/installer/FullConfig.html

# Always prevent Thunderbird installer to require a reboot
$sa += " /PreventRebootRequired=true"

# Prevent RemoveDistributionDir by default
$sa += " /RemoveDistributionDir=false"


$sa += if ($pp.InstallDir) { " /InstallDirectoryPath=" + $pp.InstallDir }

$sa += if ($pp.NoTaskbarShortcut) { " /TaskbarShortcut=false" }

$sa += if ($pp.NoDesktopShortcut) { " /DesktopShortcut=false" }

$sa += if ($pp.NoStartMenuShortcut) { " /StartMenuShortcut=false" }

$sa += if ($pp.NoMaintenanceService) { " /MaintenanceService=false" }

$sa += if ($pp.RemoveDistributionDir) { " /RemoveDistributionDir=true" }

$sa += if ($pp.NoAutoUpdate) { " /MaintenanceService=false" }

$alreadyInstalled = (AlreadyInstalled -product $softwareName -version '102.0.1')
if ($alreadyInstalled -and ($env:ChocolateyForce -ne $true)) {
  Write-Host "Thunderbird is already installed. No need to download and re-install."
  return
}

$tbProcess = Get-Process thunderbird -ea 0
if ($tbProcess) {
  if ($pp.NoStop) {
    Write-Warning "Not stopping running thunderbird process"
  } else {
    Write-Host 'Stopping running thunderbird process'
    Stop-Process $tbProcess
    # We make an assumption that the first unique item found
    # will be have the path to the process we want to restart.
    $tbProcess = $tbProcess.Path | Select-Object -Unique -First 1
  }
}

$locale = 'en-US' #https://github.com/chocolatey/chocolatey-coreteampackages/issues/933
$locale = GetLocale -localeFile "$toolsPath\LanguageChecksums.csv" -product $softwareName
$checksums = GetChecksums -language $locale -checksumFile "$toolsPath\LanguageChecksums.csv"

$packageArgs = @{
  packageName = $packageName
  fileType = 'exe'
  softwareName = "$softwareName*"

  Checksum = $checksums.Win32
  ChecksumType = 'sha512'
  Url = "https://download.mozilla.org/?product=thunderbird-102.0.1-SSL&os=win&lang=${locale}"

  silentArgs     = "$sa /S"
  validExitCodes = @(0)
}

if (!(Get-32bitOnlyInstalled($softwareName)) -and (Get-OSArchitectureWidth 64)) {
  $packageArgs.Checksum64 = $checksums.Win64
  $packageArgs.ChecksumType64 = 'sha512'
  $packageArgs.Url64 = "https://download.mozilla.org/?product=thunderbird-102.0.1-SSL&os=win64&lang=${locale}"
}

Install-ChocolateyPackage @packageArgs

if ($pp.InstallDir) {
  $installPath = $pp.InstallDir
}
else {
  $installPath = Get-AppInstallLocation $softwareName
}

if (-Not(Test-Path ($installPath + "\distribution\policies.json") -ErrorAction SilentlyContinue) -and ($pp.NoAutoUpdate) ) {
  if (-Not(Test-Path ($installPath + "\distribution") -ErrorAction SilentlyContinue)) {
    New-Item ($installPath + "\distribution") -ItemType directory
  }

  $policies = @"
{
    "policies":  {
                     "DisableAppUpdate":  true
                 }
}
"@

  $policies | Out-File -FilePath ($installPath + "\distribution\policies.json") -Encoding ascii
}

if ($tbProcess -and !$pp.NoStop) {
  Write-Host "Restarting thunderbird process"
  Start-Process $tbProcess
}

Calling built-in PowerShell host with ['[System.Threading.Thread]::CurrentThread.CurrentCulture = '';[System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; & import-module -name 'C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1'; & 'C:\ProgramData\chocolatey\helpers\chocolateyScriptRunner.ps1' -packageScript 'C:\ProgramData\chocolatey\lib\thunderbird\tools\chocolateyInstall.ps1' -installArguments '' -packageParameters '/l:en-US'']
Host version is 5.1.19041.1, PowerShell Version is '5.1.19041.1682' and CLR Version is '4.0.30319.42000'.
Loading community extensions
Importing 'C:\ProgramData\chocolatey\extensions\chocolatey-compatibility\chocolatey-compatibility.psm1'
Function 'Get-PackageParameters' exists, ignoring export.
Function 'Get-UninstallRegistryKey' exists, ignoring export.
Exporting function 'Install-ChocolateyDesktopLink' for backwards compatibility
Exporting function 'Write-ChocolateyFailure' for backwards compatibility
Exporting function 'Write-ChocolateySuccess' for backwards compatibility
Exporting function 'Write-FileUpdateLog' for backwards compatibility
Importing 'C:\ProgramData\chocolatey\extensions\chocolatey-core\chocolatey-core.psm1'
---------------------------Script Execution---------------------------
Running 'ChocolateyScriptRunner' for thunderbird v102.0.1 with packageScript 'C:\ProgramData\chocolatey\lib\thunderbird\tools\chocolateyInstall.ps1', packageFolder:'C:\ProgramData\chocolatey\lib\thunderbird', installArguments: '', packageParameters: '/l:en-US',
Running 'C:\ProgramData\chocolatey\lib\thunderbird\tools\chocolateyInstall.ps1'
Running Get-PackageParameters
Parsing $env:ChocolateyPackageParameters and $env:ChocolateyPackageParametersSensitive for parameters
Adding package param 'l'='en-US'
Running Get-OSArchitectureWidth -compare '64'
Detected the 32-bit version of Thunderbird on a 64-bit system. This package will continue to install the 32-bit version of Thunderbird unless the 32-bit version is uninstalled.
Stopping running thunderbird process
Confirm
Are you sure you want to perform the Stop-Process operation on the following item: thunderbird(6764)?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend (default is "Y")
  Confirmation (`-y`) is set.
  Respond within 30 seconds or the default selection will be chosen.
L
66 locales are stored.
af ar ast be bg br ca cak cs cy da de dsb el en-CA en-GB en-US es-AR es-ES es-MX et eu fi fr fy-NL ga-IE gd gl he hr hsb hu hy-AM id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
Running Get-PackageParameters
Parsing $env:ChocolateyPackageParameters and $env:ChocolateyPackageParametersSensitive for parameters
Adding package param 'l'='en-US'
Testing locale en-US of whether we have the information or not
Using locale 'en-US'...
Loading checksums from: C:\ProgramData\chocolatey\lib\thunderbird\tools\LanguageChecksums.csv
Running Get-OSArchitectureWidth -compare '64'
Running Install-ChocolateyPackage -silentArgs ' /PreventRebootRequired=true /RemoveDistributionDir=false /S' -checksumType 'sha512' -url 'https://download.mozilla.org/?product=thunderbird-102.0.1-SSL&os=win&lang=en-US' -checksum 'a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37' -packageName 'thunderbird' -validExitCodes '0' -fileType 'exe'
Running Get-ChocolateyWebFile -packageName 'thunderbird' -fileFullPath 'C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\thunderbirdInstall.exe' -url 'https://download.mozilla.org/?product=thunderbird-102.0.1-SSL&os=win&lang=en-US' -url64bit '' -checksum 'a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37' -checksumType 'sha512' -checksum64 '' -checksumType64 '' -options 'System.Collections.Hashtable' -getOriginalFileName 'True'
Running Get-ProcessorBits -compare '64'
CPU is 64 bit
Running Get-WebFileName -url 'https://download.mozilla.org/?product=thunderbird-102.0.1-SSL&os=win&lang=en-US' -defaultName 'thunderbirdInstall.exe'
Using explicit proxy server 'http://nwprox:ieya8sheeT+e@webfilter-bld.nwra.com:8080'.
Using response url to determine file name. 'https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/102.0.1/win32/en-US/Thunderbird Setup 102.0.1.exe'
File name determined from url is 'Thunderbird Setup 102.0.1.exe'
Running Get-WebHeaders -url 'https://download.mozilla.org/?product=thunderbird-102.0.1-SSL&os=win&lang=en-US' -ErrorAction 'Stop'
Using explicit proxy server 'http://nwprox:ieya8sheeT+e@webfilter-bld.nwra.com:8080'.
Setting the UserAgent to 'chocolatey command line'
Request Headers:
  'Accept':'*/*'
  'User-Agent':'chocolatey command line'
Response Headers:
  'Connection':'close'
  'x-amz-version-id':'sfapLOHz2rEfjHw1XMomnHdvcXtHDi0B'
  'X-Amz-Cf-Pop':'HIO50-C2,DEN52-C1'
  'X-Cache':'Hit from cloudfront'
  'X-Amz-Cf-Id':'iY7MaC0IBLlhhJ0NjcbuMHtwo502aFTqM51AxIo9kGs2kW3hk9p82A=='
  'Age':'3684'
  'Accept-Ranges':'bytes'
  'Content-Length':'53922144'
  'Cache-Control':'public, max-age=14400'
  'Content-Type':'application/x-msdos-program'
  'Date':'Mon, 11 Jul 2022 21:00:00 GMT'
  'ETag':'"8a9967e3baee0b4753818dbb04ee956a"'
  'Last-Modified':'Wed, 06 Jul 2022 14:32:29 GMT'
  'Server':'AmazonS3'
  'Via':'1.1 7249a40acbdf780c70c361e01c86fa64.cloudfront.net (CloudFront), 1.1 f923e65cfb5d73f11ea9a89d42fad5fc.cloudfront.net (CloudFront)'
File appears to be downloaded already. Verifying with package checksum to determine if it needs to be redownloaded.
Running Get-ChecksumValid -file 'C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe' -checksum 'a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37' -checksumType 'sha512' -originalUrl 'https://download.mozilla.org/?product=thunderbird-102.0.1-SSL&os=win&lang=en-US' -ErrorAction 'Stop'
checksum.exe found at 'C:\ProgramData\chocolatey\helpers\..\tools\checksum.exe'
Executing command ['C:\ProgramData\chocolatey\helpers\..\tools\checksum.exe' -c="a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37" -t="sha512" -f="C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe"]
Hashes match.
Command ['C:\ProgramData\chocolatey\helpers\..\tools\checksum.exe' -c="a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37" -t="sha512" -f="C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe"] exited with '0'.
thunderbird's requested file has already been downloaded. Using cached copy at
 'C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe'.
No runtime virus checking built into FOSS Chocolatey. Check out Pro/Business - https://chocolatey.org/compare
Verifying package provided checksum of 'a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37' for 'C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe'.
Running Get-ChecksumValid -file 'C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe' -checksum 'a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37' -checksumType 'sha512' -originalUrl 'https://download.mozilla.org/?product=thunderbird-102.0.1-SSL&os=win&lang=en-US'
checksum.exe found at 'C:\ProgramData\chocolatey\helpers\..\tools\checksum.exe'
Executing command ['C:\ProgramData\chocolatey\helpers\..\tools\checksum.exe' -c="a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37" -t="sha512" -f="C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe"]
Hashes match.
Command ['C:\ProgramData\chocolatey\helpers\..\tools\checksum.exe' -c="a44fe0872b893bcab79804f7d0c82b8d48536983e806b9987aad0f71ad162b3cccae6a3356175a4702952f94e2d9a9766910c4731bfb195c619e2629f3758d37" -t="sha512" -f="C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe"] exited with '0'.
Running Install-ChocolateyInstallPackage -packageName 'thunderbird' -fileType 'exe' -silentArgs ' /PreventRebootRequired=true /RemoveDistributionDir=false /S' -file 'C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe' -validExitCodes '0' -useOnlyPackageSilentArguments 'False'
Running Get-ProcessorBits -compare '32'
Installing thunderbird...
Running Start-ChocolateyProcessAsAdmin -validExitCodes '0' -workingDirectory 'C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1' -statements ' /PreventRebootRequired=true /RemoveDistributionDir=false /S ' -exeToRun 'C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe'
Test-ProcessAdminRights: returning True
Elevating permissions and running ["C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe"  /PreventRebootRequired=true /RemoveDistributionDir=false /S ]. This may take a while, depending on the statements.
Command ["C:\Users\orion-admin\AppData\Local\Temp\chocolatey\thunderbird\102.0.1\Thunderbird Setup 102.0.1.exe"  /PreventRebootRequired=true /RemoveDistributionDir=false /S ] exited with '0'.
Finishing 'Start-ChocolateyProcessAsAdmin'
thunderbird has been installed.
Running Get-UninstallRegistryKey -softwareName 'Mozilla Thunderbird'
Registry uninstall keys on system: 280
Error handling check: 'Get-ItemProperty' fails if a registry key is encoded incorrectly.
WARNING: No registry key found based on  'Mozilla Thunderbird'
Found 0 uninstall registry key(s) with SoftwareName:'Mozilla Thunderbird'
Running Get-OSArchitectureWidth -compare '64'
Restarting thunderbird process
----------------------------------------------------------------------
Built-in PowerShell host called with ['[System.Threading.Thread]::CurrentThread.CurrentCulture = '';[System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; & import-module -name 'C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1'; & 'C:\ProgramData\chocolatey\helpers\chocolateyScriptRunner.ps1' -packageScript 'C:\ProgramData\chocolatey\lib\thunderbird\tools\chocolateyInstall.ps1' -installArguments '' -packageParameters '/l:en-US''] exited with '0'.
Calling command ['"C:\WINDOWS\System32\shutdown.exe" /a']
Command ['"C:\WINDOWS\System32\shutdown.exe" /a'] exited with '1116'
  thunderbird may be able to be automatically uninstalled.
Capturing package files in 'C:\ProgramData\chocolatey\lib\thunderbird'
 The upgrade of thunderbird was successful.
  Software installed to 'C:\Program Files (x86)\Mozilla Thunderbird'

Chocolatey upgraded 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Exiting with 0

So the /NoStop is dropped.

What is Expected?

The passed --params would override the remembered args.

System Details

  • OS Build (In PowerShell run [System.Environment]::OSVersion.version.tostring()): 10.0.19044.0
  • Windows PowerShell version (Run: $PSVersionTable):
Name                           Value
----                           -----
PSVersion                      5.1.19041.1682
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1682
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
  • Chocolatey version (Run choco --version): 1.1.0
@TheCakeIsNaOH
Copy link
Member

A workaround should be to use the --ignore-remembered-arguments switch in conjunction with the other parameters needed.

Another workaround for is to use choco install <package> --version=<new version> --package-parameters=<updated parameters> to "upgrade" to the new package version with updated parameters. The downside of this is that it will not run the chocolateyBeforeModify.ps1 script, so if the package contains one, it's steps might have to be completed manually.

TheCakeIsNaOH added a commit to TheCakeIsNaOH/choco that referenced this issue Jan 28, 2023
This allows overriding of remembered package parameters and install
arguments during upgrade. So a user can pass in different package
parameters or arguments without having to completely reinstall the
package or turn of remembered arguments.

At this point in the remembered arguments, the CacheLocation and
CommandExecutionTimeout are already set even if not passed in
explicitly, so there is no way to check if they are being overridden
by the user.

And the switch also cannot be checked, because the lack of a switch
normally would mean that they are just relying on the remembered args
to remember it.
@TheCakeIsNaOH TheCakeIsNaOH linked a pull request Jan 28, 2023 that will close this issue
10 tasks
@TheCakeIsNaOH
Copy link
Member

TheCakeIsNaOH commented Jan 28, 2023

I've opened #3003, which allows for overriding of package parameters and install arguments. However, due to reasons described in the PR, it would not be possible to override switches.

My thoughts are to add information about what items can be overridden as a part of chocolatey/docs#404, and information about how to "reset" the argument during upgrade by using --ignore-remembered-arguments

TheCakeIsNaOH added a commit to TheCakeIsNaOH/choco that referenced this issue Jun 16, 2023
This allows overriding of remembered package parameters and install
arguments during upgrade. So a user can pass in different package
parameters or arguments without having to completely reinstall the
package or turn of remembered arguments.

At this point in the remembered arguments, the CacheLocation and
CommandExecutionTimeout are already set even if not passed in
explicitly, so there is no way to check if they are being overridden
by the user.

And the switch also cannot be checked, because the lack of a switch
normally would mean that they are just relying on the remembered args
to remember it.
TheCakeIsNaOH added a commit to TheCakeIsNaOH/choco that referenced this issue Jun 20, 2023
This allows overriding of remembered package parameters and install
arguments during upgrade. So a user can pass in different package
parameters or arguments without having to completely reinstall the
package or turn of remembered arguments.

At this point in the remembered arguments, the CacheLocation and
CommandExecutionTimeout are already set even if not passed in
explicitly, so there is no way to check if they are being overridden
by the user.

And the switch also cannot be checked, because the lack of a switch
normally would mean that they are just relying on the remembered args
to remember it.
TheCakeIsNaOH added a commit to TheCakeIsNaOH/choco that referenced this issue Jul 1, 2023
This allows overriding of remembered package parameters and install
arguments during upgrade. So a user can pass in different package
parameters or arguments without having to completely reinstall the
package or turn of remembered arguments.

At this point in the remembered arguments, the CacheLocation and
CommandExecutionTimeout are already set even if not passed in
explicitly, so there is no way to check if they are being overridden
by the user.

And the switch also cannot be checked, because the lack of a switch
normally would mean that they are just relying on the remembered args
to remember it.
TheCakeIsNaOH added a commit to TheCakeIsNaOH/choco that referenced this issue Aug 9, 2023
This allows overriding of remembered package parameters and install
arguments during upgrade. So a user can pass in different package
parameters or arguments without having to completely reinstall the
package or turn of remembered arguments.

At this point in the remembered arguments, the CacheLocation and
CommandExecutionTimeout are already set even if not passed in
explicitly, so there is no way to check if they are being overridden
by the user.

And the switch also cannot be checked, because the lack of a switch
normally would mean that they are just relying on the remembered args
to remember it.
@gep13 gep13 added this to the 2.3.0 milestone Dec 14, 2023
TheCakeIsNaOH added a commit to TheCakeIsNaOH/choco that referenced this issue Jan 9, 2024
This allows overriding of remembered package parameters and install
arguments during upgrade. So a user can pass in different package
parameters or arguments without having to completely reinstall the
package or turn of remembered arguments.

At this point in the remembered arguments, the CacheLocation and
CommandExecutionTimeout are already set even if not passed in
explicitly, so there is no way to check if they are being overridden
by the user.

And the switch also cannot be checked, because the lack of a switch
normally would mean that they are just relying on the remembered args
to remember it.
@TheCakeIsNaOH TheCakeIsNaOH self-assigned this Jan 9, 2024
TheCakeIsNaOH added a commit to TheCakeIsNaOH/choco that referenced this issue Jan 9, 2024
This allows overriding of remembered package parameters, install
arguments, cache location and execution timeout during upgrade.
So a user can pass in different package parameters or arguments
without having to completely reinstall the package or turn off
remembered arguments.

Switch arguments cannot be checked, because the lack of a switch
normally would mean that they are just relying on the remembered args
to remember it, so there is no way to determine if an override of the
remembered args is appropriate.
TheCakeIsNaOH added a commit to TheCakeIsNaOH/choco that referenced this issue Apr 28, 2024
This allows overriding of remembered package parameters, install
arguments, cache location and execution timeout during upgrade.
So a user can pass in different package parameters or arguments
without having to completely reinstall the package or turn off
remembered arguments.

Switch arguments cannot be checked, because the lack of a switch
normally would mean that they are just relying on the remembered args
to remember it, so there is no way to determine if an override of the
remembered args is appropriate.
@gep13 gep13 modified the milestones: 2.3.0, 2.4.0 May 7, 2024
@gep13
Copy link
Member

gep13 commented May 7, 2024

Based on the changes in the associated PR's for this issue, I am going to have to bump this issue from the 2.3.0 release, and instead look at this again in the 2.4.0.

The suggested changes to the INuGetService mean that this would essentially be a breaking change, that would need a corresponding change in the Chocolatey Licensed Extension, which we haven't planned to do at the minute.

Instead of holding up the release of 2.3.0, we will look to do the work in this issue in a later release.

Apologies for any inconvenience that this causes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants