title: Complex deployment scenarios in Advanced Installer
body: <p>I'm wondering the best way to handle a setup project that can support some complex deployment scenarios. My product has the following items:</p>
  
  <ul>
  <li>Executable and dlls</li>
  <li>.config files</li>
  <li>SQL CE database</li>
  <li>map document and related items</li>
  <li>two different types of geographic database files</li>
  <li>prerequisites like .NET 4 &amp; SQL CE runtime</li>
  </ul>
  
  <p>I have some post-install steps that do things like unzip clean versions of the SQL and geographic databases.</p>
  
  <p>Assume that the initial deployment and install is a full installation. I want to be able to do patches or updates of one or a combination of these items without necessarily overwriting the users files with a clean install. I hope to do these via the web-based updates. Some examples:</p>
  
  <ul>
  <li>I want to distribute bug fixes or new features in the executable and dlls without executing the post-install steps that unzip databases</li>
  <li>I want to possibly run SQL to update the database without changing any other items</li>
  <li>I want to possibly replace, add, or update the map document and its related files</li>
  <li>etc.</li>
  <li>Or possibly any combination of these</li>
  </ul>
  
  <p>Any advice on how to proceed would be appreciated.</p>