jdart at dyknow.com
Tue Sep 6 19:12:14 PDT 2016
Some background first (a solved mystery):
For about a year, I was getting occasional bizarre errors where after a successful install and a reboot, one of our background helper exes was deleted from the system. I finally tracked it down to https://blogs.msdn.microsoft.com/windows_installer_team/2005/09/18/insights-into-the-underlying-windows-installer-reboot-behavior/ and files in use during an uninstall marking files for deletion (from log "Must reboot to complete operation." ). And then the user goes ahead and runs the install (sometimes from a bat file via gpo) which happens to lay down a file in a spot where the delete is scheduled. So at reboot time the new, good file gets deleted.
Reading around, I find MsiSystemRebootPending and can consistently avoid my corrupted installs by adding NOT MsiSystemRebootPending to my LaunchConditions. Hooray! Consistent and predictable installs!
Now for the question:
MsiSystemRebootPending applies for all possible reboots - even the ones that aren't protecting me from this weird edge case. And it's set kind of a lot. Are there any other msi, wix, etc properties that can be used to detect just my app's problem files? Maybe a file in a certain directory is marked with the "Must reboot to complete operation" ?
More information about the wix-users