Skip to content

[IMPROVEMENT] Switch to disable pinget (UI and/or InstallParam) #4800

@BenjaminSchweizer

Description

@BenjaminSchweizer

Please confirm these before moving forward.

  • I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
  • This improvement refers to an existing feature. If you want to suggest a new feature, please use this template.
  • This improvement is not a bug. If you want to report a bug, please use this template.

Describe the improvement

Currently, Pinget is used automatically as a fallback whenever winget cannot deliver sources or manifests. While the intention behind this fallback is understandable, the current Pinget implementation has caused several issues (see #4794 and related reports), most notably:

  • Stale / corrupted cache under %LOCALAPPDATA%\Devolutions\Pinget\
  • Incorrect package-to-manifest assignments (Pinget resolves a package ID to the wrong manifest, leading to wrong packages being installed or updated)
  • Users having to manually delete
    C:\Users\<User>\AppData\Local\Devolutions\Pinget\Microsoft\Windows Package Manager\V1_M\Microsoft.Winget.Source_8wekyb3d8bbwe\manifests\
    to restore correct behavior

Requested improvement:

Please add an official option to fully disable Pinget, exposing it in two places:

  1. UI toggle in UniGetUI Settings (e.g. Settings → WinGet → ☐ Use Pinget as fallback), defaulting to enabled to preserve current behavior.
  2. Installer / command-line parameter for silent deployments, e.g.:
    • --disable-pinget for the installer (MSI/EXE)
    • A registry value or settings flag that can be pre-seeded via MDM/Intune/Ansible/GPO

When disabled:

  • Pinget should not be invoked under any circumstance
  • The Pinget cache directory should not be created or written to
  • If winget fails, UniGetUI should simply surface the original winget error to the user instead of silently falling back

Optionally, a third state "Ask before using Pinget fallback" would also be appreciated for power users.


Describe how this improvement could help users

  • Trust & predictability: Many users (especially in enterprise environments) prefer to rely solely on Microsoft's official winget and its signed sources. Being able to opt out of a third-party fallback that currently has known bugs is important for trust.
  • Avoids data-integrity issues: Prevents the wrong-package-installation problem caused by Pinget's faulty manifest cache assignments until those bugs are fully resolved.
  • Enterprise deployment: Admins rolling out UniGetUI via Intune, SCCM, Ansible, GPO, etc. need a deterministic, scriptable way to disable Pinget. Manually deleting cache folders or renaming pinget.exe after each update is not a viable solution at scale.
  • Reduced support burden: Several GitHub issues currently trace back to Pinget cache corruption. Letting affected users disable it cleanly would reduce duplicate bug reports while the Pinget implementation matures.
  • Reversible & safe: Since the default would remain enabled, existing users are unaffected — only those who explicitly opt out change behavior.
  • Better UX on failure: Surfacing the real winget error instead of a silent (and potentially wrong) fallback helps users and admins diagnose actual source/network issues faster.

In short: give users the choice to trust winget exclusively until Pinget reaches the same level of reliability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAn improvement to WingetUI

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions