Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Personally, I build my own mechanism to kick off self update process when my application timestamp is out of sync with the server. Not too difficult, but it's not a simple task.</p> <p>By the way, for Delphi you can use some thirdparty help:</p> <p><a href="http://www.tmssoftware.com/site/wupdate.asp" rel="nofollow noreferrer">http://www.tmssoftware.com/site/wupdate.asp</a></p> <p>UPDATED:</p> <p>For my implementation:</p> <p>MyApp.EXE will run in 3 different modes</p> <ol> <li><p>MyApp.EXE without any argument. This will start the application typically.</p> <p>1.1 The very first thing it does is to validate its own file-time with the server.</p> <p>1.2 If update is required then it will download the updated file to the file named "MyApp-YYYY-MM-DD-HH-MM-SS.exe"</p> <p>1.3 Then it invoke "MyApp-YYYY-MM-DD-HH-MM-SS.exe" with command argument </p> <pre><code>MyApp-YYYY-MM-DD-HH-MM-SS.exe --update MyApp.EXE </code></pre> <p>1.4 Terminate this application.</p> <p>1.5 If there is no update required then the application will start normally from 1.1</p></li> <li><p>MyApp.EXE --update "FILENAME".</p> <p>2.1 Try copying itself to "FILENAME" every 100ms until success.</p> <p>2.2 Invoke "FILENAME" when it success</p> <p>2.3 Invoke "FILNAME --delete MyApp-YYYY-MM-DD-HH-MM-SS.exe" to delete itself.</p> <p>2.4 Terminate</p></li> <li><p>MyApp.EXE --delete "FILENAME"</p> <p>3.1 Try deleting the file "FILENAME" every 500ms until success.</p> <p>3.2 Terminate</p></li> </ol> <p>I've already been using this scheme for my application for 7 years and it works well. It could be quite painful to debug when things goes wrong since the steps involve many processes. I suggest you make a lot of trace logging to allow simpler trouble-shooting.</p> <p>Good Luck</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload