1

I have an .EXE file installed on c:\windows\system32 (Win7) which is not visible for other programs except by Windows applications (Explorer, cmd, etc)

I can run it from any cmd terminal. However, other programs cannot open this file. They can't even list it on their OpenFileDialogs. I also tried running this program from Python os.system() and got a "File not found".

I can normally see and run other programs that are located at the same directory (e.g.: PING.exe)

I'm really sure the file is there. This problem happened on 3 different computers, all running Windows 7.

The file, in this case, is TFTP.exe, made by Microsoft.

The following images show this condition: 1 - Windows Explorer showing the file exists on c:\windows\system32 2 - Open file dialog, from depends.exe, can't see the file on the same directory

Windows Explorer showing the file exists on c:\windows\system32

Open file dialog, from depends.exe, can't see the file on the same directory

Alex
  • 113

2 Answers2

3

It might not really be there, Windows just simulates you that it is there (and only Windows knows that, so other programs don't find it).

Look for it under C:\Users\YourUserName\AppData\Local\VirtualStore\....

That might solve your issue; if you want to understand why it is there, google File and Registry Virtualization.

In a nutshell, for access control reasons, Windows doesn't allow just every program to write in that area, so if an older program needs to writes there, it redirects the file to your virtual storage, but simulates continuously that is where you thought it is.

Aganju
  • 10,161
1

I recently came across this very same issue and found the reason why.

I ran my executable which is compiled against x86 on a 64 bit operating system and indeed the file was nowhere to be found from within my executable, not by open a file dialog, not by looking for the file in the directory with Directory.GetFiles() and not with File.Exists(). However when compiling my executable against x64 the file was found again with all of the previous methods.