Repository navigation
v1.3.1: The self-update never ran its installer
The self-update never ran its installer.
Fixed
-
The update downloaded, verified, and then did nothing, leaving the new build beside the application as a hidden
.crapcleaner-update-file. The installer script was started withDETACHED_PROCESS, which leaves it with no console at all, andcmdbuilds a pipe by starting two more copies of itself - which it cannot do without one. The first command of the script istasklist | find, so the script died there, every time. Nothing was swapped, no.bakwas ever written, neither branch that reports a failure was reached, and the script never deleted itself: a machine that had tried to update several times had an orphaned installer script for each attempt. The script now runs with a console that is simply not shown, and its wait goes through a file rather than a pipe, so it no longer depends on console behaviour at all.This was the same symptom 1.2.1 addressed and did not fix. That release corrected which
findandtasklistran, by calling them through absolute paths, which was right and made no difference: the pipe between them was what failed, not the programs either side of it.A build older than this one still carries the broken updater, so its next self-update will fail in the same way; the fix applies to updates started from 1.3.1 onwards. Any
.crapcleaner-update-file an earlier attempt left behind is the verified new build and is safe to delete.