`
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. |