InstallerClean 3.1.2
On a PC with Microsoft 365, InstallerClean now offers the unneeded installer files that Office's registration made it hold back.
Microsoft 365
Office registers its features with Windows Installer as a program of its own, with no saved installer and no record of where it was installed from. InstallerClean couldn't tell what that program was installed from, so on a PC with Microsoft 365 it could hold back every installation package in C:\Windows\Installer. Windows Installer has nothing in the folder to open for a program like that. So where it's installed for every user on the PC, and both Windows Installer and the registry say it has neither, InstallerClean no longer lets it hold files back.
InstallerClean also offers the old copies of an Office installer that Office updates leave behind. Windows Installer can record, in lower case, the folder it last used to install one of Office's components, and InstallerClean held the old copies back because that spelling didn't match the same folder on the component's list of places it can be installed from. It now checks the file in that folder instead of the spelling.
Files less than a day old
InstallerClean holds back a file that's less than a day old, in case an install or update is still using it. It now says how many files it held back for that reason, their size and from when a scan will probably be able to offer them. The line is on the screen after a Move or Delete, on "Nothing offered on this PC" and on the command line.
Numbers when you pick a language
Picking a language from the language button changes the app's words and now leaves numbers in your PC's regional format, as they are when you haven't picked one and on the command line. With English picked on a PC set to German formats, a size reads 1,24 GB. The time and date in the line about files less than a day old follow your regional format where it's a format of the language the app is showing, and that language's own format otherwise.
The command line
If a write to its output fails, such as one to a redirect on a full disk, installerclean-cli now carries on with the run instead of stopping there, and the lines after it go out once the disk has room. A Delete or Move goes ahead and exits as its batch did. A scan that finishes, --help and --version exit 1 when any of their output couldn't be written, since their output is what they're run for.
On /s, the notes about the scan now print above the line counting the files it found, so the list of files sits straight under that line.
The anonymous report
The report now carries the Country or region set in Windows, the setting that decides whether the "Send anonymous report" box starts ticked. It also carries a count of installations like Office's registration above. Like everything else in the report it names no program, file or account, and the privacy policy lists what it holds.
The report is only ever sent from a PC's first finished run, and only if the "Send anonymous report" box is ticked on the screen InstallerClean shows when that run finishes.
The changelog has the full list.
Downloads
- InstallerClean-3.1.2-portable.exe (~64 MB) - The app as a single executable. No installation; run it directly.
- InstallerClean-3.1.2-setup.exe (~93 MB) - Installer. Adds InstallerClean and the command-line tool, with an Add/Remove Programs entry to uninstall.
- installerclean-cli.exe (~37 MB) - The command-line tool as a single executable, for scripting, scheduled tasks and deployment.
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".
Built with .NET SDK 10.0.112 from the v3.1.2 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.
Build it yourself
VirusTotal
- InstallerClean-3.1.2-portable.exe: 0/70 ✨
- InstallerClean-3.1.2-setup.exe: 1/69 One false positive
- installerclean-cli.exe: 0/71 ✨
One engine out of sixty-nine, Deep Instinct, flags the installer. Microsoft Defender, Bitdefender, Kaspersky, ESET, Avast, AVG and Malwarebytes all clear it, as does every other engine on VirusTotal. The installer is built by Inno Setup, with the same compiler and the same settings that built the 3.1.1 installer, which no engine flagged. I've reported the detection to Deep Instinct as a false positive.
Donate
Any small donation is much appreciated.