v6 - New update
Added
- Added PS2EXE build support for creating a Windows Maintenance Tool executable from
WMT-GUI.ps1. - Added
PS2EXE/Build-Exe.ps1with source syntax validation, automatic version extraction from$AppVersion, icon support, admin/no-console build options, and default output todist\WindowsMaintenanceTool.exe. - Added
PS2EXE/WMT.icofor the built executable. - Added single-instance protection. Launching WMT again now signals the existing window to restore/focus instead of starting a second copy.
- Added system tray mode with restore/exit actions, tray icon support, balloon fallback, and optional "hide to tray on close" behavior.
- Added optional RAM reduction while hidden in the tray, including cache cleanup, log trimming, garbage collection, and working-set trimming.
- Added native Windows toast notification support with tray-balloon fallback for background update scans and installs.
- Added Provider Manager settings for automatic update scan interval, notifications, run-in-tray behavior, RAM reduction in tray, headless update/install commands, and experimental auto-install.
- Added background update scanning from the tray, including skip logic when package scans/actions are already active.
- Added experimental automatic install/update flow for available provider results after background scans.
- Added Windows Update as a package/update provider using the Windows Update COM API, including optional update detection and install monitoring.
- Added .NET global tools provider support for scanning, searching, installing, updating, and uninstalling global tools.
- Added PowerShell module provider support using PowerShell Gallery metadata where available, with PowerShellGet fallback.
- Added Composer global package provider support for outdated/search/install/update/remove flows.
- Added Steam update detection by scanning Steam library manifests, plus delegated update/install actions through Steam URI handling.
- Added Legendary/Epic Games provider support, including local
legendary.exestorage under WMT data, provider install/repair actions, EGL sync, installed-game scan, and update commands. - Added GOGDL/GOG provider support, including local
gogdl_windows_x86_64.exestorage under WMT data, Heroic auth reuse, manual auth flow, installed-game metadata scan, and update commands. - Added provider install/repair/open buttons in Provider Manager for supported tools and game launchers.
- Added Microsoft Store GUI automation for Store app updates when Store CLI is not enough, including progress logging and Store window cleanup.
- Added update-result checkboxes, smarter update-list column sizing, row clipboard export, and better update-row sorting/search behavior.
- Added WPF versions of the Advanced Cleanup selection and cleanup preview windows.
- Added grouped/searchable Advanced Cleanup rule rendering for internal rules, Winapp2, and CleanerML with persisted source toggles.
- Added WPF shared window/dialog helpers, themed DataGrid helpers, WPF scroll resources, and no-icon-gutter context menu styling.
- Added a rebuilt WPF Startup Manager with Windows startup entries, scheduled tasks, context menu entries, services, tab loading, filtering, color/status styling, and entry editing.
- Added scheduled task management helpers for enabling, disabling, opening, and loading task details.
- Added a rebuilt Restore Manager flow that runs restore work out of process with loading/progress feedback.
- Added registry cleaner "Open in Regedit" context tooling and improved copy-selected/copy-all detail output.
- Added registry cleaner review-only rows so risky/protected findings can be shown without being selected or fixed automatically.
- Added registry repair handling for malformed COM server paths, including command values with broken executable/argument formatting.
- Added deeper registry deletion helpers using native registry APIs,
reg.exefallback, ACL unlock attempts, HKCR/HKLM/HKCU 32-bit and 64-bit target expansion, and post-delete verification. - Added registry scan coverage for notification area icon leftovers and additional COM/class server cases.
- Added crash diagnostics written to
data\last-crash.txtfor unhandled WPF/update-monitor failures. - Added background preloading for expensive pages such as My Device and Firewall after startup.
- Added firewall background rule loading, selected-rule detail lazy loading, detail caching, search, and sortable headers.
Changed
- Updated
WMT-GUI.ps1app version to6. - Expanded default enabled providers to include
windowsupdate,dotnet,psmodule,composer,steam,legendary, andgogdl. - Normalized old
cometprovider settings togogdl. - Reworked the package manager progress path and restored the main top progress bar for update operations.
- Reworked provider scan/output reading to reduce deadlocks and improve timeout behavior.
- Changed package process monitoring so timeouts stop the owned process tree more carefully.
- Changed Microsoft Store update behavior to use Store GUI automation and clearer Store progress/failure reporting.
- Changed Steam updates to delegate through Steam validation/download handling and wait for Steam activity before refreshing the GUI.
- Improved Legendary and GOGDL update timeouts, idle watchdog behavior, and downloader activity checks for long game updates.
- Improved PowerShell module provider performance by using batched Gallery API metadata where possible.
- Improved Windows Update result handling so updates already installed or requiring reboot are not repeatedly offered.
- Improved Registry Cleaner safelist behavior: broad whitelisting was tightened into review-only classification and protected-path checks.
- Improved registry cleaner backup behavior so skipped-only cleanups do not create unnecessary
.regfiles. - Improved registry cleaner result layout, row highlighting, Enter-to-check behavior, context logging, and selected/all copy formatting.
- Improved Advanced Cleanup rule list rendering and analyze/preview flow after the WPF migration.
- Improved My Device loading by queueing sections progressively and reducing background preload contention.
- Improved Firewall loading so base rules can preload while heavy port/filter details load only when needed.
- Improved context menus by removing the unused icon gutter.
- Improved
Start_WMT_GUI.batupdate version parsing so whole-number versions like6are valid. - Improved app self-update/version logic for EXE/script launch scenarios.
- Updated
.gitignoreto exclude local runtime/build output folders such asdataanddist.
Fixed
- Fixed package manager regressions found during the v6 provider/headless work.
- Fixed update-list refresh issues after processing updates.
- Fixed the top package progress bar not reliably updating for the first/active update item.
- Fixed package manager error detection so interrupted/non-zero update commands are reported more accurately.
- Fixed provider scan deadlocks caused by blocked output/error stream reads.
- Fixed Windows Update entries being offered again after successful install or when a reboot is required.
- Fixed Store GUI update paths that could fail silently or leave unclear status.
- Fixed GOG auth/config writes to avoid BOM-related auth file issues.
- Fixed Restore Manager crash/regression introduced during the WPF conversion.
- Fixed Advanced Cleanup Analyze crashes with Winapp2 rules after the WPF cleanup-window rewrite.
- Fixed registry cleaner malformed-path display where paths such as
C:\Program Files\...\Photoshop.exe/Automationcould be truncated in the Data column. - Fixed registry cleaner copy output so entries are separated and easier to read in text editors.
- Fixed registry cleaner context/log handling around Regedit/open/copy operations.
- Fixed known protected or undeletable registry findings being hidden completely instead of shown as review-only.
- Fixed stale tray-icon behavior when WMT is hidden, restored, or closed from tray mode.
- Fixed duplicated WMT instances interfering with background scans or auto-update flows.
- Fixed WPF application loop cleanup so tray icons, timers, firewall jobs, My Device jobs, DNS/DoH jobs, and single-instance handles are disposed more consistently.
- Added a default ignore for the common Steamworks Redistributable false-positive update entry.
Notes
- Tray/headless package automation is experimental in this release. Some providers may still require user interaction or manual log review after automated runs.
- Game providers are delegated to their own launchers/tools. Steam, Legendary, and GOGDL behavior depends on installed clients, authentication, local metadata, and provider availability.
- The EXE build workflow requires the
ps2exePowerShell module. RunPS2EXE\Build-Exe.ps1 -InstallPS2EXEto install it automatically for the current user before building.
Links
- PR: #123