nefarius / vicius

Nefarius' nŏvīcĭus universal software updater agent for Windows.
https://docs.nefarius.at/projects/Vicius
BSD 3-Clause "New" or "Revised" License
38 stars 3 forks source link

Run updater from temporary copy to avoid circular dependency #42

Open nefarius opened 2 weeks ago

nefarius commented 2 weeks ago

Issue

When a copy of the updater is shipped as part of a product using e.g. MSI and the update removes the old version before applying the new one, the now running updater process launched from the product installation directory blocks the removal and the user is prompted to either kill it or reboot, disrupting a successful update flow.

image

Suggestion

Add a configuration option or auto-detection on how the updater is launched and re-launch itself as a copy from a temporary directory if needed. The file copy can be marked as to-be-deleted on reboot.