` Printed Icetips Article

Icetips Article



Clarion in general: Implementing Live Update
2002-12-31 -- Unknown
 
Newsgroups: comp.lang.clarion


1. Make a separate EXE to do your install.
2. Copy that program and any DLLs it needs to the users Temp Directory
   (or a sub directory) so that you will not run into files in use from
   yourself.
3. CHAIN to that install program (or RUN it and HALT). Pass it the
   path.
4. Exclusive open OPEN(file,readwrite+DenyAll) your main EXE so no
   other users can run it. Refuse to install until you can open the EXE.
5. Unzip your update files
6. Make sure you can OPEN(file,readwrite+DenyAll) all of the files you
   need to update before starting the process.
7. Install the update (unlock the EXE if it needs patching then
   relock)

I don't like the copy on reboot, you have a mess where some files were
updated and some are not until reboot. Nobody will reboot unless
forced.

Catalyst has a patch API that is pretty well priced.

Another choice is to rename your EXE and replace it with a stub EXE
that just does Message('Update in progress'). Actually the stub.exe
should RUN another EXE that shows that message, otherwise users will
leave their computer at the message and you will not be able to delete
stub.exe and rename the main.EXE back.



Printed November 23, 2024, 6:18 am
This article has been viewed/printed 35215 times.
Google search has resulted in 41 hits on this article since January 25, 2004.