What I have found updating a program EXE on a server that is currently in use on workstations:

  • On the Computer Management console, you must first close open copies of the EXE under Shared Folder->Open Files. I've never been able to rename or successfully overwrite an EXE that is in use if it shows up there. There is a brief window of opportunity once the file has been closed to overwrite the EXE.
  • You can have problems if customers have a terminal server with multiple users and some of them close the program and try to reopen it, which may include program crashing on startup. Typically all remote users must exit, then they can all get back in and the new version will be loaded for all users.
  • Replacing a running program can result in program crashes for users running the old version when an EVAL is executed. I suspect the EVAL function needs to look stuff up in a symbol table stored in the EXE (?) and replacing the EXE changes the location of the symbol table resulting in a crash.

We do have a LAUNCH program like Garrett mentioned but we don't use it extensively at customer sites. It runs off the settings in an INI file that can store settings for multiple programs.