github no-faff/InstallerClean v3.1.0

5 hours ago

InstallerClean 3.1.0

InstallerClean offers more of the files it can be certain about, handles a drive or share that doesn't answer, and asks once for an anonymous report.

More files offered, and more checks before one is

Some situations made InstallerClean hold back a whole group of files without looking at any of them. It now looks at each file in those cases and offers the ones it can be certain about:

  • A program installed a second time on the same PC. Each installation package no record names is compared with the packages that copy uses
  • A program installed for one user that gives an incomplete answer about its patches. InstallerClean reads that program's own records and asks it about each superseded patch by name
  • A program whose patch list won't read, where the registry holds what the list would have said
  • A cached file named only by the registry, including the package of a program Windows says isn't installed, which held back every superseded patch on the PC
  • An installation package kept back because it belongs to an installed program, where every installation of that program has its own cached package and nothing points at this one

And it checks more before it offers a file:

  • A cached package or patch that no record names has to be at least a day old, since Windows Installer puts a new copy in place before any record names it
  • A cached patch that no record names is checked against the patch it says it is, and offered only where every copy Windows keeps of that patch is shown to be another file
  • A superseded patch is kept wherever another program on the PC still has it applied, however that program's record names the file
  • Move and Delete wait while Windows Installer has an installation under way, including in the gaps between the packages of a multi-package install
  • The check just before a Move or Delete runs the scan's own steps again on every file it's about to touch that no record names
  • InstallerClean checks that it really is running as administrator before it scans. If it isn't, the window says "Administrator rights needed" and closes, and the command line won't scan

A drive or share that doesn't answer

Some files can only be settled by looking at the folder a program was installed from, and that can be on another drive or a network share. If it doesn't answer, after a second the scan shows "Waiting for \\server\share to respond..." with a "Carry on without it" button. Each read there waits at most thirty seconds, and a drive or share that doesn't answer is given up for the rest of the scan. Any file still to be checked against it is left alone, and the main window says which drive or share InstallerClean carried on without, so you can Re-scan once it's back.

The anonymous report and donating

The first time InstallerClean finishes on a PC, the result screen has a "Send anonymous report" box. The report goes when you close that screen unless you untick the box, and there's only ever one report per PC. The box starts unticked where Windows is set to a country in the European Union, Iceland, Liechtenstein or Norway, or where InstallerClean can't read that setting. The small "i" beside it says what the report holds, and "See exactly what's sent" shows you the report itself. The privacy policy covers all of it.

After a Move or Delete that moved or deleted files, the result screen has a "Donate $5" button with "Close without donating" under it, and every other result screen has a small Donate under Done. The command line asks the same in one line at the end of a Move or Delete that moved or deleted files, only when you're running it yourself in a console.

Large text, fonts and screen readers

  • Every line is drawn in the app's own font, and each language in one typeface: Russian, Ukrainian and Vietnamese in Montserrat, and Chinese, Japanese and Korean in the interface font Windows has for each
  • At large Windows text sizes the app's boxes and windows stay inside the screen's width, wrapping their text where they need to, and the language menu scrolls when it's taller than the screen
  • A screen reader hears the lines that change while InstallerClean works: each step of the scan and its result, the Move or Delete's progress and "Up to date."

Also changed

  • On screen, sizes of 1,024 GB or more read in terabytes, and every size carries a thousands separator, written the way your region writes it
  • While the scan matches files, the count under its step reads against the folder's total, as in "412 of 1,883", and the last step, "Checking remaining files...", has its own line
  • The result screens have no Scan again button. Once a screen is closed, Re-scan or F5 starts a new scan
  • Under its two counts, the main window shows only the warning for missing files and the line about a drive or share it carried on without. Files held back are counted among the files left alone
  • The setup wizard's Japanese is coolvitto's own translation (#72)
  • On the command line, a /d or /m run that Windows refuses the Windows Installer lock exits 1 rather than 75, since waiting won't clear a refusal, and a new Warning in the Application log, Event ID 3004, records a drive or share it gave up on. The help lists the exit codes
  • Everything new is translated into every language InstallerClean speaks

Fixed

  • Closing the window during a Move or Delete closes it as soon as the files stop, without a scan first
  • Pressing Esc as the result screen appears after a Move or Delete closes it first time
  • Cancel and Esc are greyed out wherever there's nothing left to stop
  • When a Move or Delete ends in a dialog, the screen behind it no longer names work that has stopped
  • When a Re-scan stops or fails, the main window clears its list and shows what stopped it, rather than leaving the earlier scan's counts on screen
  • A missing Installer folder, or one Windows won't list completely, stops the scan with a message saying so
  • A backup folder on a network share keeps its two leading backslashes with the server's name when it wraps
  • A size just under a gigabyte reads 1.00 GB rather than 1024.0 MB
  • A Turkish sentence counting held-back files is grammatical, and an Indonesian message says "patch" like every other Indonesian line

The changelog has the full list.

Downloads

The apps are unsigned and freshly downloaded files carry the browser's mark, so on first run Windows SmartScreen will usually warn that the publisher is unknown. Click "More info", then "Run anyway".

Build it yourself

Built with .NET SDK 10.0.112 from the v3.1.0 tag. The portable and the command-line tool are single-file builds published with compression on. Release builds are deterministic, so building that tag yourself, on that SDK and with those flags, gives you the same bytes and the same hashes for the portable and the command-line tool; the README's Checking the download itself section has the detail. The installer is a different case: Inno Setup packs it and stamps the build year into it, so don't expect its hash to match.

VirusTotal

Donate

Any small donation is much appreciated.

Support me on Ko-fi

Don't miss a new InstallerClean release

NewReleases is sending notifications on new releases.