Repository navigation
v0.8.0
WinMedic v0.8.0
The medic had a check-up of its own. This release finds what tuning tools
switch off deep inside Windows and follows a service that will not start down
to its cause. An audit of v0.7.0 made backups, restore points and the
background scan safer. And WinMedic looks like Windows 11 now.
New
- System devices a tuning tool disabled: the device "Microsoft Hypervisor
Service", which Windows Sandbox and containers need, is found, switched
back on and checked afterwards. Two more that such tools switch off, the
NDIS Virtual Network Adapter Enumerator and the High Precision Event Timer,
are listed unticked. - Services grouped as on a small PC: a
SvcHostSplitThresholdInKBabove
the memory Windows has makes Windows run its services in shared processes
as on a PC with less than 3.5 GB, where one failing service can take others
with it. WinMedic sets Windows' default back (needs a restart, unticked). - Why a service will not start, followed down to the device: "Container
Manager Service (CmService) cannot start: HV Host Service (HvHost) failed
(exit code 31) because the device 'Microsoft Hypervisor Service' is
disabled." - A Windows feature that would not install: when Windows rolled an
installation back and Settings showed only 0x800f0922, WinMedic finds it in
the servicing logs and, for Windows Sandbox, names what kept it from
installing. - Progress on the taskbar: the taskbar button fills while a scan or a
repair runs, so a minimised window still shows how far it got. - Windows 11 look: a ticked box is filled blue and easy to tell from a
clear one, the main button of each page is blue, headings are semibold,
and "Remove WinMedic from Windows" is red.
Safer
- No repair without a restore point: Windows' limit of one restore point
a day no longer applies to WinMedic's own. If Windows still creates none,
WinMedic asks before it repairs anything; the command line stops with exit
code 3 unless--no-vssis given. - Registry backups are kept in
%ProgramData%\WinMedic\backups, each
recorded with its checksum underHKLM\SOFTWARE\WinMedic. A rollback
imports only a backup WinMedic made, unchanged, for the key it was taken
from. Backups that earlier versions left in%APPDATA%are no longer
listed or restored. - The background scan is set up only for a
winmedic.exethat nobody but
administrators can change, as underC:\Program Filesor after
winget install --scope machine. Elsewhere, such as in Downloads, turning
it on is refused with the reason, and a task an older version set up there
is removed. - Windows tools are started by their full path, and DLLs are loaded from
System32 only. - A value with a typographic quote (’) can no longer break out of a
PowerShell command WinMedic runs. - The updater refuses download addresses with
..or backslashes. --uninstall --purgealso removes%ProgramData%\WinMedicand
HKLM\SOFTWARE\WinMedic.
Repairs that are honest now
- The installer package cache (
%ProgramData%\Package Cache) is no
longer reported or emptied: programs need it to repair, change or
uninstall themselves. - The hosts file: only the blocking lines change, byte for byte. If the
new file does not read back as written, the old one is put back. - "Restart services automatically" switched off is respected by every
repair. A re-enabled update service counts as started only once it runs,
and the print queue repair starts the print spooler again when it stops
halfway. winmedic --scanexits with the new code 7 when a check could not run,
instead of 0.- Autostart entries with letters such as İ or Å in their path no longer
crash the scan or get offered for deletion. %TEMP%is counted once when it isC:\Windows\Temp.
Also
- Cancelling a scan no longer waits for a large folder to be measured.
- A check's time limit holds even when a tool leaves a process behind.
- A check's progress bar no longer jumps back when verbose logs are on.
- The status words on the highlighted finding stay readable in both themes.
- The Markdown report escapes what it quotes.
- The README names every address a scan contacts.
Full changelog: v0.7.0...v0.8.0