WinMedic is a terminal application that diagnoses and repairs Windows problems: component-store and system-file corruption, stalled Windows Update queues, broken services, network stack and DNS faults, disk health and cache bloat. Diagnostic modules run in parallel and every finding is reported with its severity, the evidence behind it and the exact commands a fix would run.
Repairs are opt-in and reversible: a System Restore point and registry snapshots are taken before anything is changed, a dry-run mode shows the planned steps without touching the system, and any scan or repair can be interrupted. It is a single native executable with no .NET, Python or other runtime dependency.
What's new in 0.12.0
WinMedic v0.12.0 Physician, heal thyself. A check or a repair that crashes no longer takes the window with it, and when WinMedic crashes, its next start offers once to send a report. The WinSxS check works again while Windows waits for a restart after an update. New - Crash reports: if WinMedic crashed, its next start says "WinMedic ran into an error of its own last time.", with Send report and Dismiss. Send report first shows the report, with your user name, your computer's name and your user folder replaced, since it becomes a public issue. Open on GitHub opens the bug report form filled in, and you post it or not. Save to file is for sending it another way. Nothing leaves your PC without a click. Each crash is offered once, crashes Windows logged included. - Crash logs: when WinMedic crashes, it writes down what it was doing in %APPDATA%\WinMedic\logs. The newest five stay. Fixed - A check or a repair that crashes no longer closes the window and ends the scan with it. It is reported as failed ("The check stopped unexpectedly"), and the rest of the scan or of the repair run goes on. The download is about 4 MB larger for it. - When the window itself crashes, a message says so instead of the window just disappearing. - The WinSxS check while Windows waits for a restart: DISM then ends its analysis with the code for "restart needed", which WinMedic took for a failure, so the WinSxS finding was missing until the restart. Up to 0.10.1 the scan also waited two minutes for DISM there. - A headless run that crashes ends with exit code 5 ("internal error"), not 101. Full changelog: v0.11.0...v0.12.0