The installer sets up a default DB (if one doesn't already exist) and I want to exclude that from the uninstall process (Or have the user option to remove it or not, once I take the time to figure out customizing the GUI)

Seems like best practice would be to just create the DB at runtime rather than install time, but for the sake of argument, is this possible and how?

I know how to set it up to install it conditionally like this:

<Feature Id="Database" Display="hidden" Level="1">
  <ComponentRef Id="DatabaseComponent"/>
  <!-- Cancels installing of new DB if it already exists-->
  <Condition Level="0">DBEXISTS</Condition>

But I'm not sure about how to put a conditional on an uninstall.

+7  A: 

Make the Component permanent (Component@Permanent="yes").

Rob Mensching