What I have done is to put the actual functionality in DLLs. The EXE calls loadLibrary to load them - but before it loads it, it checks for updates and downloads new DLLs. Doug
Neal Campbell wrote: > Hi Charlie > > Please excuse my newness to the list and Delphi programming (I am > returning after 10+ years). In the DLL example, how would that work? > The main program will call the functions in the DLL to determine if a > new release is available and downloads it, while quitting the main > program? How does the DLL stay alive when you kill the main program so > that you can delete/init it with the new version? > > I need to do this myself and am learning from this email chain tremendously? > > Why hasn't someone created a small framework for this like we have for > OS X (Sparkle)? > > Thanks > Neal Campbell > Abroham Neal Software > > > On Thu, Jan 15, 2009 at 12:33 PM, Charlie Chambers > <[email protected]> wrote: > >> Hi Bobby, >> Another idea is to put the update functions/procedures into a DLL >> and just update the DLL as opposed to the full exe. >> >> Cheers, >> Charlie >> >> ----- Original Message ----- >> From: Bobby Clarke >> To: [email protected] >> Sent: Thursday, January 15, 2009 8:09 AM >> Subject: [delphi-en] Problem with ShellExecute >> >> I wanted to provide a web update facility for my program B.exe and >> decided that the easiest way was to write a small control program, >> A.exe, which checked the web for updates to program B.exe and then >> starts, via ShellExecute, the latest version of B, perhaps B009.exe. >> >> This all works very well. The problem comes when I try to update the >> control program A.exe. Clearly the new version must be called A.exe so >> that all the shortcuts work. I can download A.new and the only task now >> is to delete A.exe and rename A.new to A.exe. I have written a small >> console program C.exe that does this. The problem is knowing how to >> start C.exe. If I start with a ShellExecute from A.exe, the file A.exe >> seems to be locked even after A has finished and even if C.exe waits for >> two minutes before trying to change the A filenames. The A filenames >> themselves are not locked as I can change using Windows Explorer during >> the 2 minute wait. I can even change the names by hand-starting a >> different occurrence of C.exe. Starting C from B fails as the A file is >> still locked. >> >> I could place C.exe to be run on the next re-boot, but this seems messy >> and interferes with the user's control of his PC. Is there another >> option? All suggestions welcome. How do others update programs using the >> web? >> >> Bobby Clarke >> >> [Non-text portions of this message have been removed] >> >> [Non-text portions of this message have been removed] >> >> >> > > ------------------------------------ > > ----------------------------------------------------- > Home page: http://groups.yahoo.com/group/delphi-en/ > To unsubscribe: [email protected]! Groups Links > > > > > ------------------------------------------------------------------------ > > > No virus found in this incoming message. > Checked by AVG - http://www.avg.com > Version: 8.0.176 / Virus Database: 270.10.7/1895 - Release Date: 1/15/2009 > 7:46 AM > > ---------- ---------- No virus found in this outgoing message. Checked by AVG - http://www.avg.com Version: 8.0.176 / Virus Database: 270.10.7/1895 - Release Date: 1/15/2009 7:46 AM [Non-text portions of this message have been removed]

