Relevant area(s)
WinGet CLI, PowerShell Module, DSC Resource
Description of the new feature / enhancement
After API support exists for IsReinstallAvailable and ReinstallRequiredReason, surface this information in user-facing tools and automation surfaces.
Without surfacing, users and scripts still cannot reliably act on reinstall-required updates.
This would improve:
- CLI guidance when a normal update is not possible
- PowerShell automation that needs to branch between update and reinstall
- DSC compliance/reporting for packages where the latest version requires reinstall
Proposed technical implementation details
This issue depends on the API/core feature that introduces:
IsReinstallAvailable
ReinstallRequiredReason
Requested client surfacing
WinGet CLI
Surface clear and actionable messaging when:
- a newer version exists
IsUpdateAvailable is false
IsReinstallAvailable is true
Examples of possible UX:
- Show a message during upgrade discovery
- Show a message in package detail views
- Optionally distinguish this state in upgrade-listing output
PowerShell Module
Expose the new properties in projected package objects so scripts can evaluate:
$pkg.IsUpdateAvailable
$pkg.IsReinstallAvailable
$pkg.ReinstallRequiredReason
If appropriate, also surface the new state in formatting/output.
DSC Resource
Use reinstall-required metadata in detection and reporting logic so DSC can distinguish:
- package is compliant
- package can be updated in place
- package requires reinstall to reach the newer version
Potential implementation areas
DscPackageResource.cpp
UpdateFlow.cpp
PSCatalogPackage.cs
src/PowerShell/Microsoft.WinGet.Client/Format.ps1xml
Microsoft.WinGet.DSC.psm1
Suggested rollout
- Land the COM API/core feature first
- Update PowerShell and DSC consumers next
- Add or refine CLI UX after that if separate review is preferred
Acceptance criteria
- CLI clearly communicates reinstall-required status.
- PowerShell exposes both new properties for scripting.
- DSC can distinguish updateable state from reinstall-required state.
- Tests cover at least one installer technology mismatch scenario.
Relevant area(s)
WinGet CLI, PowerShell Module, DSC Resource
Description of the new feature / enhancement
After API support exists for IsReinstallAvailable and ReinstallRequiredReason, surface this information in user-facing tools and automation surfaces.
Without surfacing, users and scripts still cannot reliably act on reinstall-required updates.
This would improve:
Proposed technical implementation details
This issue depends on the API/core feature that introduces:
IsReinstallAvailableReinstallRequiredReasonRequested client surfacing
WinGet CLI
Surface clear and actionable messaging when:
IsUpdateAvailableis falseIsReinstallAvailableis trueExamples of possible UX:
PowerShell Module
Expose the new properties in projected package objects so scripts can evaluate:
If appropriate, also surface the new state in formatting/output.
DSC Resource
Use reinstall-required metadata in detection and reporting logic so DSC can distinguish:
Potential implementation areas
DscPackageResource.cppUpdateFlow.cppPSCatalogPackage.cssrc/PowerShell/Microsoft.WinGet.Client/Format.ps1xmlMicrosoft.WinGet.DSC.psm1Suggested rollout
Acceptance criteria