Microsoft 11992 Published by

Windows Package Manager v1.29 release candidate introduces source priority controls that let administrators dictate which repositories take precedence during package searches. The export and import workflow finally preserves custom installer arguments like --override flags, saving admins from manually rebuilding silent install switches across different machines. Search results now sort cleanly with new command-line options, while redirected output stays free of progress spinners and truncated columns for smoother automation pipelines. Installer selection follows a strict default hierarchy and several deployment-breaking bugs get patched in this build before the stable release drops.



Windows Package Manager v1.29 Release Candidate Adds Source Priority and Cleaner Export Features

The Windows Package Manager team dropped a release candidate for version 1.29 that actually fixes some long-standing pain points around package ordering and automation workflows. This build introduces source priority controls, better export retention for custom installer flags, and a few quiet improvements that make running winget in scripts or headless environments noticeably less frustrating.

Screenshot_from_2025_09_27_08_47_11

Windows Package Manager source priority changes how results load

The new experimental sourcePriority feature lets administrators assign a numerical value to each configured repository, which directly controls how search results get ranked across the system. When multiple sources return matching packages, the engine now respects that hierarchy instead of throwing a disambiguation prompt or defaulting to whatever happens to be listed first in the configuration file. This matters because enterprise environments often run internal corporate repositories alongside community feeds, and having those internal sources take precedence without manual filtering saves hours of troubleshooting broken installs. The REST source match criteria also got updated so Microsoft Store results stop automatically jumping to the top of every query just because they use a different indexing pipeline.

Winget export now remembers custom installer arguments

Running winget export used to strip out all the custom flags that made an installation work in the first place, forcing administrators to manually rebuild silent install switches or override parameters when migrating machines between test and production environments. The latest build captures both --override and --custom values directly from the original manifest and writes them into the exported file. Importing that file later reapplies those exact arguments automatically, which means deployment scripts no longer need custom parsing logic just to preserve legacy installation quirks. A new --no-progress flag also joins the command set for environments where progress bars clutter log files or break automated parsers. That flag overrides any visual.progressBar setting and keeps stdout completely clean for CI pipelines or remote management tools that expect machine-readable output.

Sortable output and cleaner logging in Windows Package Manager

The list command finally gets proper sorting controls with --sort flags that accept fields like name, version, source, and relevance, plus persistent ordering settings for users who want consistent table layouts across different terminals. Redirected output no longer truncates columns or spits out spinner characters when running against a file handle, which fixes a common headache when piping results to CSV exporters or remote monitoring agents. Log file naming now respects a new logging.fileNameStrategy setting that switches between manifest names, timestamps, GUIDs, or shortened identifiers depending on how messy the deployment environment gets. The PowerShell module also picks up GH_TOKEN and GITHUB_TOKEN variables automatically, which bumps API rate limits for GitHub-based sources without requiring manual authentication steps in every script block.

Installer type precedence and quiet bug fixes

Windows Package Manager now enforces a strict default hierarchy when choosing between installation methods, putting MSIX packages first, followed by MSI or Wix installers, then traditional EXE wrappers, with portable executables landing at the bottom. This removes the guesswork that used to happen when manifests listed multiple installer types in random order and left administrators wondering why winget kept picking the wrong wrapper. The release candidate also patches several edge cases that break automated deployments, including a fix for exporting to hidden files, proper handling of paths containing spaces during code signing, and corrected DSC schema defaults that previously caused boolean parsing errors. Source reset commands now restore default repositories instead of nuking them entirely, which prevents config corruption after accidental cleanup runs or mislabeled troubleshooting steps.

Release Windows Package Manager 1.29.240

This is a release candidate of Windows Package Manager v1.29. If you find any bugs or problems, please help us out by filing an issue.

Release Windows Package Manager 1.29.240 ยท microsoft/winget-cli

Grab the candidate if you manage a fleet of machines or just want winget to stop guessing which package source should win when two feeds overlap. The experimental flags are safe to toggle on for testing, and the export improvements alone will save enough manual editing time to justify the upgrade. Let me know how the sorting behaves in your environment once it hits stable.