Self updating software Sister love sex chat webcam
However, this is complicated to maintain (the xml setup is done by hand) and we're thinking about moving to a big-fat-file with everything in it, with a single version number for the whole package.Yes, there is some bandwidth wastage, but our app needs wideband, anyway (video-chat).I don't work with Delphi anymore for a long time, but once I used the following a approach: 1.Have an "updater" application, just like that you described. When the main application detects there are some updates it launches the updater, passes its process handle and the list of files to be updated and exits. The updater waits on the process handle of the main application.How would you handle updating an exe in an environment such as a Terminal Server where there are multiple users all running the same exe? For updating I use a zipped package that actually contains the little application to perform the update it self.One user might say OK, but what about the other users who are still running the application? It would be better, imho, if you created a custom MSBuild action incrementing the version number appropriately and then FTPing the new file on the Linux server. So when new update is found it downloads it, unpacks it, and executes the updater placed in the package.
You dont need to execute an external program to update the current exe file.You can't pass the handle in the command line because it'll be available only after the process starts. To pass the list of updates you may use the command line, a temporary file, interprocess synchronization etc.DIY approaches are doomed to fail as soon as users understand that allowing everything to write into "Program files" is bad - as much as having executables file in "free for all" folders.When the wait completes it can replace all executables and dlls that were previously locked.You'll need to use the following Windows APIs: - Wait For Single Object: using this the updater doesn't need to test for the main application in a loop. - Duplicate Handle: the main application needs to duplicate its own process handle for SYNCHRONIZE access in order to allow another process to wait for it.