Open sba923 opened 3 months ago
What is the output from winget list terraform
?
Can you share verbose logs from the failure?
winget upgrade Hashicorp.Terraform --source winget --verbose-logs --logs
Here's the output:
PS> winget list terraform
Name Id Version Available Source
----------------------------------------------------------------
Hashicorp Terraform Hashicorp.Terraform 1.9.0 1.9.5 winget
Here are the logs: WinGet-2024-08-28-16-5X.zip
It looks like we're seeing multiple correlations. I'm not sure if there are extra registry entries or something else causing the failure.
I think this is the same issue as:
winget search hashicorp.terraform
Name Id Version Source
--------------------------------------------------------------------------
Hashicorp Terraform Hashicorp.Terraform 1.9.5 winget
Hashicorp Terraform Hashicorp.Terraform.Alpha 1.10.0-alpha20240807 winget
Hashicorp Terraform Hashicorp.Terraform.Beta 1.7.0-beta2 winget
Hashicorp Terraform Hashicorp.Terraform.RC 1.8.0-rc1 winget
2024-08-28 16:54:58.417 [YAML] Detected UTF-8
2024-08-28 16:54:58.489 [REPO] Performing search: Query:[none] Filter:Id='Hashicorp.Terraform'[CaseInsensitive]
2024-08-28 16:54:58.498 [REPO] Finding installed package from available package using system reference search: Query:[none] Include:NormalizedNameAndPublisher='hashicorpterraform'+'hashicorp'[Exact] Include:NormalizedNameAndPublisher='terraform'+'hashicorp'[Exact]
2024-08-28 16:54:58.498 [REPO] Performing search: Query:[none] Include:NormalizedNameAndPublisher='hashicorpterraform'+'hashicorp'[Exact] Include:NormalizedNameAndPublisher='terraform'+'hashicorp'[Exact]
2024-08-28 16:54:58.499 [REPO] Performing search: Query:[none] Include:ProductCode='hashicorp.terraform_microsoft.winget.source_8wekyb3d8bbwe'[Exact] Include:NormalizedNameAndPublisher='hashicorpterraform'+'hashicorp'[Exact]
2024-08-28 16:54:58.499 [REPO] ... installed package [ARP\Machine\X64\Hashicorp.Terraform_Microsoft.Winget.Source_8wekyb3d8bbwe] had multiple correlations and is being ignored as a match for [Hashicorp.Terraform]
From the log:
2024-08-28 16:54:58.489 [REPO] Performing search: Query:[none] Filter:Id='Hashicorp.Terraform'[CaseInsensitive]
2024-08-28 16:54:58.498 [REPO] Finding installed package from available package using system reference search: Query:[none] Include:NormalizedNameAndPublisher='hashicorpterraform'+'hashicorp'[Exact] Include:NormalizedNameAndPublisher='terraform'+'hashicorp'[Exact]
2024-08-28 16:54:58.498 [REPO] Performing search: Query:[none] Include:NormalizedNameAndPublisher='hashicorpterraform'+'hashicorp'[Exact] Include:NormalizedNameAndPublisher='terraform'+'hashicorp'[Exact]
2024-08-28 16:54:58.499 [REPO] Performing search: Query:[none] Include:ProductCode='hashicorp.terraform_microsoft.winget.source_8wekyb3d8bbwe'[Exact] Include:NormalizedNameAndPublisher='hashicorpterraform'+'hashicorp'[Exact]
2024-08-28 16:54:58.499 [REPO] ... installed package [ARP\Machine\X64\Hashicorp.Terraform_Microsoft.Winget.Source_8wekyb3d8bbwe] had multiple correlations and is being ignored as a match for [Hashicorp.Terraform]
2024-08-28 16:54:58.499 [CLI ] Search result size: 0
2024-08-28 16:54:58.499 [CLI ] No app found matching input criteria
2024-08-28 16:54:58.499 [REPO] ... installed package [ARP\Machine\X64\Hashicorp.Terraform_Microsoft.Winget.Source_8wekyb3d8bbwe] had multiple correlations and is being ignored as a match for [Hashicorp.Terraform]
The package manager downloads a compressed copy of all manifests in the repo, then matches this data against the data in the Registry. It seems that the data in Registry might be matching to more than 1 manifest, and so the package manager ignores it.
The next step would seem to be reducing the correlations to 1 through removing data that correlates to other manifest versions.
That matching issue looks like it is with portables specifically, and is probably not due to other packages with ids that are longer, but rather with other packages that are so similar we can't tell them apart. Ultimately we should be able to go from portable directly to an ID and source but we aren't. I suspect that we just need some "enlightening" given to the ARP reading for portable specific info we write in. This should chain through the tracking DB back to the original package without any confusion 🤞
It looks like we're seeing multiple correlations. I'm not sure if there are extra registry entries or something else causing the failure.
Feel free to ask me to look up registry entries that winget
relies upon.
Seems that the registry only contains one entry:
PS> Get-InstalledApp.ps1 -AppName '*terraform*' -MatchAll
ComputerName : <REDACTED>
AppID : Hashicorp.Terraform_Microsoft.Winget.Source_8wekyb3d8bbwe
AppName : Hashicorp Terraform
Publisher : HashiCorp
Version : 1.9.0
UninstallString : winget uninstall --product-code Hashicorp.Terraform_Microsoft.Winget.Source_8wekyb3d8bbwe
Scope : Machine
InstallDate : 2024-07-01 00:00:00
Architecture : 64-bit
Anything I can do to troubleshoot this further?
Problem still present for version 1.9.6:
Exact same problem on another machine with RawTherapee.RawTherapee
:
Brief description of your issue
Running
winget update
reports aHashicorp.Terraform
update is available, butwinget update Hashicorp.Terraform
says none is found:See logs: WinGet-2024-08-28-09-37.zip
Steps to reproduce
On a system with
Hashicorp.Terraform
version 1.9.0 installed, runwinget update Hashicorp.Terraform
Expected behavior
Hashicorp.Terraform
version 1.9.5 should get installedActual behavior
winget update Hashicorp.Terraform
reportsNo installed package found matching input criteria.
Environment