title: Automatic update
body: <p>I have a system with two web applications, one web service, one Windows service and a WPF application running 24 hours a day on a touch screen. All of them are connected to a database.</p>
  
  <p>I want to be able to upgrade all of those applications by uploading upgrade files to the database and set the date and time for the upgrade to occur.</p>
  
  <p>I have one idea on how to do this.</p>
  
  <ol>
  <li>An application has a thread running to look for available upgrades.</li>
  <li>When an upgrade is found, the file is downloaded to the application's computer.</li>
  <li>When download is complete, the applications triggers a restart.</li>
  <li>When application starts, it looks for an upgrade file on the local computer.</li>
  <li>If upgrade is available, the application upgrades itself.</li>
  </ol>
  
  <p>I'm not really sure how all these steps should be done yet, especially the last one. But I want some comments about this. Is this completely wrong? Am I on the right track? Any tips on how to do it like this or in another way?</p>