mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
Cause: Repair used REINSTALLMODE=ecmus. effectcraft-cli.exe has no version resource, so Windows Installer treats it as unversioned: a changed copy with a later write time counts as a user edit and is kept, and "c" only checks files that carry an MSI checksum, which these don't. Fix: Repair uses "amus", which puts back every file whatever its version or date. Tests: test-msi.ps1's stand-in CLI is unversioned like the real one; the test damages it in place and repairs with the REINSTALLMODE read from installer-ui.wxs (no longer msiexec /fa after deleting it), then compares contents. It fails with ecmus (the damaged file stays) and passes now.