Vista x64 system files hidden from file manager type apps?

killerbobjr

Limp Gawd
Joined
Feb 6, 2005
Messages
282
Can anyone tell me if their system folders in Vista x64 remain hidden from normal apps that have their own file manager?

Here's the issue: I've unchecked the hide boxes in folder settings and can see all the files in my C:\Windows\System32\Drivers directory within Windows Explorer and within any File Open or File Save dialog. I can also do a DIR command in a console window and see everything. However, when I run an app that uses its own file manager (WinSCP in this case), most of the files go missing and I only see two directories and two files.

WinSCP is a 32-bit app, so this may be a security "feature" in Vista x64, but it's not one I've ever heard of, or have been able to google. Can anyone else verify this behavior on their system? (This does NOT happen in Vista 32-bit BTW).
 
The System32 folder in 64-bit Windows actually contains the 64-bit files, and 32-bit programs running under WOW64 would generally go looking in System32 for the 32-bit DLLs etc. that they can call - but they'll find the 64-bit ones instead. Therefore the OS redirects all 32-bit applications' requests for the System32 folder to the SysWOW64 folder, which contains 32-bit system files.

However, there is a way to see the native System32 folder in 32-bit applications in Vista x64 (not XP x64). Create a folder called 'C:\Windows\Sysnative' and use that instead of System32 in your 32-bit programs. 64-bit programs will see it as empty, but 32-bit programs will see the contents of your System32 folder.

(Note that applications may use the API to disable this redirection, which some 32-bit file managers aware of 64-bit Windows may do, and you'd see the folders normally then.)
 
Thanks ever-so-much for the tip. Google reports 42 hits on the terms "sysnative" and "vista" and MSDN has one note buried in the development guides, so it's pretty obscure.

I thought I was going nuts or had badly mis-installed Vista x64 because I could see the /System32/Drivers/Etc directory under WinXP (and Knoppix) and I assumed that the mapping was in reverse from the SysWOW64 folder to the System32 folder since the SysWOW64 folders are what are seen under a 32-bit app.

I'm sure I'll run into many more "gotcha's" as I start migrating my programming environment to 64 bits under Windows. Both OS X 64-bit and Linux 64-bit are quite a bit easier to transition to than Windows it seems. Unfortunately, Windows is the bigger market. <sigh>
 
Back
Top