1

I have an old app (written in Delphi 2010) that I tweaked a little and compiled last year and it runs fine on a variety of Windows machines. It's shared across a network old school, in that it's installed one one machine (computer "A") and other machines (computers "B" and "C") point to that folder and run it from there.

I'm currently having an issue running the .EXE on computers "B" and "C".

The EXE is in a folder with several other EXEs. All have the same permissions inherited from the folder, which is Full Control. I can rename, move, delete, copy, open it up in notepad++...but when I try to run it "Access is denied." Newer versions of the EXE get that error as do older versions that previously worked (although I can't guarantee what's gone on in the customer's OS universe). And just to add some spice, one of the EXEs runs on Computer B while Computer C gets an "Access is denied" message.

All computers are running Windows 10.0.19043.1288 Pro.

I've checked permissions and network policy, turned off "protective" software (MalWareBytes and Defender), and tried multiple versions of the EXE.

Any insight would be welcome.

user3810626
  • 111
  • 1
  • 1
    What is the network location? Is is a UNC path (such as "compyname://d_drive/MyDelphiStuff/oldapp.exe") or is is mapped to a drive letter ("S:\Share\oldapp.exe") – JonathanDavidArndt Nov 05 '21 at 14:56
  • It's mapped to the V drive, although it seems to me whenever I saw an error it was coming back with the UNC. Hmmmm. – user3810626 Nov 05 '21 at 20:36
  • Well, you said you can't guarantee what is going on the customer's OS universe -- but if it runs on Computer B, and does not run on Computer C, is there some way to determine if UNC-style paths are being used one and not the other? – JonathanDavidArndt Nov 10 '21 at 18:27
  • They look to be mapped identically, but I'll see if I can get any more info. – user3810626 Nov 11 '21 at 19:41
  • Now... I'm also a programmer, so I also have a question about the details of the Delphi code: are there any places where the *program itself* accesses other network resources (maybe another launcher, loading other resources, config/text files, etc. anything really that is outside the main EXE) – JonathanDavidArndt Nov 11 '21 at 23:33
  • One sore point has been the data files, which are in a sub-dir under the EXE, I believe. The program config comes from there and, let me tell you, virus-scanners are NOT fond of ".DAT" files. This doesn't seem to be getting to that point, though. I actually opened a "Hello, world" console as the first line of the code, before the Application.Init, and it does not pop up on these machines. Let me check unit init code (84 files later...): Mostly in-memory stuff, an HTTP object is set up but not used--hmmm, there does appear to be a bunch of XML class registration but I think that's all internal. – user3810626 Nov 12 '21 at 02:31
  • My humble experience is that the "Access is denied" message is very general (and somewhat unhelpful). It could be from the main EXE, or -- if the main EXE is just a launcher for a second EXE -- could be shown whenever a program cannot be run. I do not know how to diagnose this... maybe there is something in Event Viewer, or the Event Logs? – JonathanDavidArndt Nov 12 '21 at 04:23
  • Yeah, I think I'm going to have to dive into those. – user3810626 Nov 12 '21 at 04:50

0 Answers0