IIS' Crap Metabase and MachineKeys Corruption08/21/2005 08:45 PM
If you haven't backed
up your IIS metabase (where
IIS stores its configuration information), do it *now* before you regret
it. A corrupt metabase seems to be a fairly common problem if you
use iisreset during development of ASP.Net pages or if you shut you don't
cleanly shut your system down (Google
to see how bad an issue it really is).
If your metabase backups are ancient
and you can't restore
the metabase, the only way
to fix IIS is to uninstall and reinstall it. However, when you try
reinstalling IIS, you can get the dreaded "Error
Writing Encrypted Data"
error. Since the error dialog lets you write unencrypted data, you'd
think this would be the end of it, but the IIS installer locks up at this
point. What the error probably points to is corruption of your MachineKeys.
If you're lucky, all you have to do is rename that directory and
reboot to let Windows rebuild it.
After you reinstall ASP.Net, remember
to run "aspnet_regiis.exe -i" from the ASP.Net framework directory
so that IIS knows how to run ASP.Net applications. You'd think that
installing the ASP.Net redistributable would do this, but it doesn't.
Tightly integrating a web server with
the OS might sound like a good idea (super performance from running at
Ring 0, yada yada), but this has to be one of the best examples of why
it shouldn't be done :-P