Skip to content

Allow WINGET to automatically change installer technologies instead of installing with error #6459

Description

@krezol

Relevant area(s)

WinGet CLI

Description of the new feature / enhancement

package(s) have upgrades blocked because newer versions use a different install technology than the current installation. Uninstall each package, then install the newer or specified version.

Proposed technical implementation details

When WINGET detects install technology to be different, allow updating by first uninstalling older version of a product and caching the installed software package name, and then proceed to install it using the version specified via command line or the latest version available.

Activity

  1. added
    Issue-FeatureThis is a feature request for the Windows Package Manager client.
    Needs-TriageIssue needs to be triaged
    on Aug 12, 2026
  2. added theissue type on Aug 12, 2026
  3. added
    Possible-DuplicateAutomatically surfaced as a likely duplicate of an existing issue; awaiting maintainer confirmation.
    on Aug 12, 2026
  4. github-actions commented on Aug 12, 2026

    @github-actions

    Possible duplicate(s):

    Thank you for submitting this issue.

    The issue(s) below may already track your request or bug. Please take a look — if one of them matches, give that issue a 👍 and close this one as a duplicate. Older or curated issues are preferred as the canonical one to follow.

    Template: msftbot/duplicate/surfaced by Duplicate Surfacing
  5. tonicofonico commented on Aug 27, 2026

    @tonicofonico

    Adding real-world reproduction cases with recent manifests:

    1. **\JanDeDobbeleer.OhMyPosh**:

      • Installed: legacy WiX/MSI package (\29.26.0\ / {31FCBFFC-F401-4B47-84F3-A266659D706C}).
      • Available in manifest: \30.9.0\ packaged as \msix\ (\install-x64.msix).
      • Outcome: \winget upgrade --all\ is hard-blocked with the error:
        \2 pacchetti hanno aggiornamenti bloccati perché le versioni più recenti utilizzano una tecnologia di installazione diversa rispetto all'installazione corrente. Disinstalla ogni pacchetto, quindi installa la versione più recente.\
    2. **\dokan-dev.Dokany**:

      • Installed: Burn/EXE bundle (\1.4.1.1000).
      • Available in manifest: WiX/MSI package (\2.3.1.1000).
      • Outcome: Same hard block on \winget upgrade --all.

    Having an automated migration flag (e.g. \winget upgrade --allow-installer-type-change\ or \winget upgrade --migrate-installer-type) that uninstalls the legacy installer type and installs the new type cleanly would avoid manual registry/MsiExec cleanup.

  6. denelon commented on Sep 1, 2026

    @denelon
    Collaborator

    There are situations where automatically doing the uninstall/install causes user data loss.
    If I had an MSI and a bunch of settings/package specific files, they could get lost during uninstallation. The new MSIX variation wouldn't know how to migrate my settings or data.

  7. krezol commented on Sep 1, 2026

    @krezol
    Author

    How about if package maintainers were responsible for providing an upgrade script to handle the settings migration? Or maybe another flag --do-not-preserve-settings-during-installer-migration ?

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-FeatureThis is a feature request for the Windows Package Manager client.Possible-DuplicateAutomatically surfaced as a likely duplicate of an existing issue; awaiting maintainer confirmation.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions