On Wed, 2019-03-27 at 09:31 -0500, Vincent Povirk wrote:
It hadn't occurred to me to cross-compile a custom action dll.
Would it be possible to skip certain actions like RegisterProduct, so the files are extracted but the msi isn't actually "installed" at the end? I'd want to make sure the files aren't accidentally removed when a new version is installed, or a user pokes around in wine uninstaller.
You could add a 'NOT EXTRACT_ONLY' condition to the relevant actions and then pass EXTRACT_ONLY=1 on the command line.
I don't see why you need that though, because proper upgrade handling would already make sure that files aren't removed if they are still in use (through the reference count). The same goes for removals.
Blocking removals is also possible. Are accidental removals really a problem though? There might be good reasons to remove wine-mono, why make that harder? If you want to make it resilient I think a better option would be to reinstall the package next time mono is needed.