I've got a strange problem regarding accessing a file (more specifically SnippingTool.exe) in Windows 7's System32 directory. I can see/run/access the file when opening the directory in Explorer (and the command prompt), I can copy it to other places (and it will be perfectly accessible in other locations), but when trying to access it in any way from other applications (examples include mintty, Notepad++ and a Java program), they simply report it as not existing.

I've noticed that this applies to many other files in System32 as well.

My problem is very much like the one posted here except this isn't about files I have copied into the directory, it's Windows' own files. This only happens on one of my computers (but it is the case on a friend's computer as well), the other happily lets all applications access the file, and I am absolutely clueless as to what is causing this.

Does anyone have suggestions for this? Both computers are running Windows 7 Ultimate 64-bit.

link|improve this question
feedback

1 Answer

up vote 2 down vote accepted

In x86-64 Windows NT, 64-bit applications see the real System32 directory. 32-bit applications, however, that read what they think to be the System32 directory are actually reading the SysWOW64 directory. This SuperUser answer explains the details. In the 32-bit programs, you are seeing one directory by that name. In the 64-bit programs you are seeing another.

link|improve this answer
I see. Thank you for your answer. Is there any remedy to this situation, say, if I wanted to open a file affected by this in a 32-bit application? (other than copying the file from System32 to SysWOW64, which apparently works, but isn't a particularly pretty solution) – Per Sep 1 '11 at 23:55
For myself, I just made a link from System64 to System32, so that 32-bit programs can see the true System32 directory as System64. – JdeBP Sep 2 '11 at 0:01
32-bit programs can see the system32 folder as 'sysnative'. – ak2 Sep 2 '11 at 4:22
Thank you both for your help, this issue was giving me headaches beyond reason. – Per Sep 2 '11 at 9:17
They do not do so entirely properly. They don't see a directory entry in the parent directory by that name, for example. My little link, in contrast, is visible as a proper directory entry in the parent, and also has semantics in 64-bit programs that are identical to its semantics in 32-bit programs. – JdeBP Sep 2 '11 at 12:34
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.