microsoft / microsoft/winget-pkgs

[Package Issue]: Google.AndroidStudio.Canary cannot be upgraded or version-correlated

Open
#431,665 0 comments 0 reactions 0 assignees View on GitHub
Needs-Triage
Dominant language
No language data
Stars
11.1k
Forks
9.7k
PR merge metrics
PR metrics pending

Description

### Please confirm these before moving forward

- [x] I searched open and closed issues/PRs and found no duplicate for `Google.AndroidStudio.Canary` and this upgrade behavior.
- [x] I have not been informed that this is resolved in a preview version of the WinGet client.

### Category of the issue

No applicable update found / Other (manifest intentionally denies upgrades).

### Brief description

`Google.AndroidStudio.Canary` cannot be upgraded with `winget upgrade`, so package-manager frontends such as UniGetUI also cannot upgrade it. The latest installer manifest explicitly sets:

```yaml
UpgradeBehavior: deny
RequireExplicitUpgrade: true
```

There is also a version-correlation problem: Google's NSIS installer registers only `DisplayVersion: 2026.2`, while the current package version is `2026.2.1.4` (Rabbit 1 | 2026.2.1 Canary 4). Multiple Canary builds in the same release line therefore share the same ARP version.

### Steps to reproduce

1. Install an older `Google.AndroidStudio.Canary` build.
2. Refresh the WinGet source.
3. Run:

```powershell
winget upgrade --id Google.AndroidStudio.Canary --exact --source winget
```

4. Observe that WinGet refuses the upgrade.
5. Run the current installer through the install path:

```powershell
winget install --id Google.AndroidStudio.Canary --exact --source winget --force
```

6. Observe that the installer successfully updates the application in place, but ARP continues to report only `2026.2`.

### Actual behavior

WinGet returns:

```text
The package cannot be upgraded using WinGet. Please use the method provided by the publisher for upgrading this package.
```

After the forced install succeeds, `winget list` still reports installed version `2026.2` and available version `2026.2.1.4`. The installed `product-info.json` proves the application was updated:

```text
version: AI-262.9437.185.2621.16253642
buildNumber: 262.9437.185.2621.16253642
dataDirectoryName: AndroidStudio2026.2.1
```

### Expected behavior

WinGet should be able to distinguish Canary builds and invoke Google's installer in place so explicit upgrades from WinGet/UniGetUI succeed without producing a permanent upgrade loop.

A simple `UpgradeBehavior: install` change may be insufficient because the ARP `DisplayVersion` is not unique. Would maintainers accept exact-version detection via `InstallationMetadata` (for example, a version-specific installed file/hash such as `product-info.json` or `studio64.exe`) together with `UpgradeBehavior: install`, or is a publisher-side exact ARP version required?

I can prepare a manifest PR once the preferred correlation method is confirmed.

### Environment

```text
Windows Package Manager (Preview) v1.30.130-preview
© 2026 Microsoft. All rights reserved.

Windows: Windows.Desktop v10.0.29648.1000
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.30.129.0

WinGet Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User) %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User) %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root C:\Program Files\WinGet\Packages
Portable Package Root (x86) C:\Program Files (x86)\WinGet\Packages
Installer Downloads C:\Downloads
Configuration Modules %LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules

Links
---------------------------------------------------------------------------
Privacy Statement https://aka.ms/winget-privacy
License Agreement https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting State
--------------------------------------------------
LocalManifestFiles Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride Disabled
LocalArchiveMalwareScanOverride Disabled
ProxyCommandLineOptions Disabled
ConfigurationProcessorPath Disabled
DefaultProxy Disabled
```

Additional software: UniGetUI 2026.2.7.

### Verification already performed

- Google's official preview page identifies the current release as Rabbit 1 | 2026.2.1 Canary 4.
- The official installer hash was successfully verified by WinGet.
- `winget install --force` completed successfully and updated the installed product files in place.
- No existing open PR or issue matching this package/upgrade problem was found.

Contributor guide

Open the contributing guide

Research direction

Start with the Google.AndroidStudio.Canary manifest, especially UpgradeBehavior and the proposed InstallationMetadata correlation. Review the reported product-info.json version data and the winget upgrade/install reproduction. Done means Canary builds correlate distinctly and an explicit upgrade succeeds without an upgrade loop.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.