We have a webserver hosted in Microsoft Azure. It's a Windows Server 2008 R2 Datacenter edition, 64 bit.
For a website hosted on this machine, I need to make changes to the applicationhost.config file. However, changes I made to IIS recently are not shown in the config. I've added a new application pool and added this specific website to that application pool. I restarted the website, the 'Date Modified' of the file is updated, but the application pool is not present.
Right now I'm editing the file in C:\Windows\System32\inetsrv\config
, but there's also one in C:\Windows\SysWOW64\inetsrv\Config
, but the latter hasn't updated for months.
Am I looking at the wrong file? Are changes not saved right away? Do I need to restart IIS completely and not just the relevant website?
The real issue is that there are two inetsvr directories, one for 32 bits and another for 64 bits. The 32 bits 'version', probably dormant and not updated, is under SysWOW64 !!!
When you open a file on %SystemDrive%\Windows\System32\inetsrv
using a 32bits application, Windows will redirect you, with no warning, to %SystemDrive%\Windows\SysWOW64\inetsrv
possible a very obsolete file. Interesting no?
Using a 64bits editor like Notepad++ will open the 'right' active configuration file.
The following hack will make the (active) 64 bits location, accessible from 32 bits apps (for example, some Visual Studio versions).
cd /d "%SystemDrive%\Windows\SysWOW64\inetsrv"
move Config Config.OLD
mklink /d Config "%SystemDrive%\Windows\System32\inetsrv\Config"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With