Burn, the WiX bootstrapper application, when run, does a check to determine if it requires an uninstall. Say I have the following bundle Chain
:
<ExePackage Permanent="yes" ...
<MsiPackage Visible="yes" DisplayInternalUI="yes" ...
How does burn determine whether or not it should present a dialog to uninstall itself? How does it know that it, the bootstrapper itself, is installed or not? After I run the bootstrapper and have installed the bundle, if I uninstall the MsiPackage from Programs and Features, and then run my bootstrapper again, it will show an Uninstall option...despite the fact that all non-permanent packages have been removed. Clearly, it must have left something behind to detect that just the bootstrapper was installed at some point.