0xC0000006 errors arise when your program goes to page more data for the EXE into memory, but couldn't. Usually this is caused by an I/O issue when attempting to read the data.
So ensure that the connectivity between the application server and the RDP server is stable, and that the storage in the application server is responding and sending data quickly. Basically you want no unexpected drops, or long delays in data coming into the RDP server.
Another option (or additional action), since judging by the icon shown in your screenshot, is that since the application is written in Delphi, it can be recompiled to include a header that will tell Windows to load the whole program into memory at once, avoiding the need to page in data later, thus avoiding the error...
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
And ensure that the Winapi.Windows
is included in the Uses
section.
The first flag tells it to load entirely into memory if the program is located on a removable drive (i.e.: a flash drive) and the second tells it to do it if the program is located on a network share (as yours probably is).
More info is available on StakcOverflow: