Problem with running a Delphi 32bit exe on Windows 2008 Terminal Server after update of this Delphi 32bit executable


We have a problem with updating a Delphi 32bit executable while users are running this
executable on Windows 2008 terminal Server. The executable resides on a remote network
share from another Windwos 2003 File Server and is a single file of 10mb written in Delphi 7.

With the old 2003 terminal server we rename the .exe to .old and copy the new .exe.
Already logged on users continue with the old exe.New users are running the new exe.
No problems.

Now with the new 2008 terminal server we do te same. Rename the .exe to .old and copy the new .exe.
Already logged on users continue with the old exe, no problems for them.
New users are running the old executable according to the main screen but get all
kind of errors (access violations) in de updated modules.
It seems that windows is trying to load the new exe partitially.
When logged on as a domain administrator there are many 100+ minidump....dmp files placed in the
directoty of the executable.

After killing the proces / program for each user the application working fine again if
the exe is started again. Then the new exe is loaded with no problems.
This is no option for us for each update.

Can anyone help with this problem?



Who is Participating?
Ephraim WangoyaCommented:

Your upgrade program can send a message to all logged on users that the system is going to upgrade in a few minutes and they need to exit the application, if some users are still logged on say after two minutes, log them off automatically then do your upgrade.
As long as the user gets a message that they are about to be upgraded, they should be alright
Your method of changing out a live and running .exe will not be supported going forward. Window 2008 uses "Address space layout randomization (ASLR) " and that is probably what is causing your error. You need to come up with a better technique ... something like writing to a reg key or file and having the .exe look for the new .exe to load next time. Just forget out touching a running .exe
try to check the compatibility mode of exe properties.
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.