Every once in awhile, the very act of deviating from the norm to use a *gasp* 64-bit operating system meets with heavenly punishment. So much so that the most rudimentary tasks of opening a text file in a text editor is met with disapproval. I have already encountered this a few times ever since I installed x64 Windows Vista onto my home's main workstation; trying to work with IIS 7.0's new array of configuration files were a hassle. They are right there happily living in Windows Explorer. Opening them with Notepad is all fine and dandy. Like any normal operation should. But Visual Studio 2005 or 2008, or other Notepad replacements for the matter, fail mightily in their attempts to open those config files sitting innocently at C:\windows\system32\inetsrv\config. They consistently report being unable to find those files. They are right there, dammit! Are you blind?
Except, they aren't as "innocent" as one may think they are.
The problem with x64 Windows is certain paths are designated as 64-bit paths, and a 32-bit process, like Visual Studio, is being redirected by Windows to the 32-bit path at C:\windows\SysWOW64 whenever C:\windows\system32 is referenced. The 32-bit process thinks it is looking at C:\windows\system32\inetsrv\config when it has been given C:\windows\SysWOW64\inetsrv\config; which indeed contain none of those configuration files we are after.
It sure sucked using Notepad to edit those files. I want all the sugary goodness of Visual Studio!
Luckily, Robert McMurray came along more than a year later to explain what needs to be done in order to "double trick" 32-bit processes back into the original config directory. To summarise the steps in case the knowledge is lost on the other side, open a 64-bit command prompt and execute the following commands
cd /d "%systemdrive%\windows\syswow64\inetsrv"
move config configx86
MKLINK /d Config "%systemdrive%\windows\system32\inetsrv\Config"
It should report symbolic link created for Config <<===>> C:\windows\system32\inetsrv\Config
This effectively renames the 32-bit config directory so a symbolic link of that name can take its place to redirect back to the 64-bit path which we are really interested in.