UpdateEverything.psd1
|
@{ RootModule = 'UpdateEverything.psm1' ModuleVersion = '1.5.0' GUID = 'e4e1f3eb-5967-4311-94af-c650fe192e95' Author = 'Brian Kronberg' Copyright = '(c) 2026 Brian Kronberg. Released under the MIT License.' Description = 'Updates a Windows machine through every package manager and update channel it can find, running each as an isolated step so one failure does not stop the rest. Covers winget, the Microsoft Store, Windows Update, Microsoft 365 Apps, Defender, PowerShell modules, npm, pipx, uv, Chocolatey, Scoop, rustup, .NET tools and more. Can register itself as a scheduled task with toast notifications.' # 5.1 is the floor because the script has always supported Windows PowerShell, # and a maintenance tool that cannot run on a machine before it has been # updated is not much use. PowerShellVersion = '5.1' # Declared so the gallery can filter on it, and so a Core-only or # Desktop-only consumer is told before installing rather than after. CompatiblePSEditions = @('Desktop', 'Core') FunctionsToExport = @( 'Update-Everything' 'Initialize-UpdateEverything' 'Register-UpdateEverythingTask' 'Unregister-UpdateEverythingTask' 'Get-UpdateEverythingTask' 'Test-PendingReboot' ) CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @('Update-All') PrivateData = @{ PSData = @{ Tags = @('Windows', 'Update', 'Maintenance', 'winget', 'WindowsUpdate', 'Chocolatey', 'Scoop', 'ScheduledTask', 'PSEdition_Desktop', 'PSEdition_Core') LicenseUri = 'https://github.com/briankronberg/UpdateEverything/blob/main/LICENSE' ProjectUri = 'https://github.com/briankronberg/UpdateEverything' ReleaseNotes = '# 1.5.0 One fix, for machines that installed from the gallery once and from GitHub later. ## Updatable means the receipt covers the newest installed copy Get-GalleryModuleStatus answered Updatable from the existence of any PowerShellGet receipt for the module name. A gallery install followed by the GitHub one-liner leaves a receipted older version beside an unreceipted newer one, and the helper then called the newest copy updatable while Update-Module moves only the receipted lineage -- so the self-update step could describe an update it was not performing. Updatable is now true only when the receipt names the same version as the newest installed copy. On a mixed machine the self step takes the guidance branch instead, naming Install-Module -Force and -UpdateSelfSource Main, both of which do what they say there. ## Verified before publishing Found and fixed through a new release harness that downloads the published package from the gallery and runs it as installed, on a machine in exactly the mixed state above. The self-elevation handoff was re-verified end to end on a real machine with UAC on -- eight checks, none skipped -- before this version shipped. ' } } } |