4

I'm using this code in XP 32-bit OS to get the %windir%\windows\system32 folder path.

sysFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.System)

What I want to know is that will this same code return the %windir%\windows\syswow64 folder when used in Windows 7 (64/32-bit)?

bluish
  • 26,356
  • 27
  • 122
  • 180
Phoenix
  • 81
  • 1
  • 3

3 Answers3

5

It will return c:\windows\system32, even in a 32-bit program that runs on the 64-bit version of Windows. Do not fix this, it doesn't need fixing. Because when you use that path, Windows will automatically remap it to c:\windows\syswow64. The file system redirector takes care of it.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
1

I tried on my Windows7 box with .NET 4.0

This code:

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.System));
Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86));

Prints the following from both 32- and 64-bit process:

C:\Windows\system32
C:\Windows\SysWOW64
Filip Frącz
  • 5,881
  • 11
  • 45
  • 67
0

Nope. On my Windows 7 64-bit box, targeting x64:

C:\Windows\system32
Michael Petrotta
  • 59,888
  • 27
  • 145
  • 179