IIS Service Unavailable Error on a 64 bit operating system

PROBLEM:
If you find this error in the event log when starting an iis service on a 64 bit operating system (personally this happened to us with SharePoint). (This is also followed by a Service Unavailable error when trying to use the application):

Event Log: Could not load all ISAPI filters for site/service. Therefore startup aborted

SOLUTION:
It can be fixed by rebuilding asp.net. You can only run asp.net 1.1 in 32 bit mode and you can run asp.net 2.0 in either 32 bit mode or 64 bit mode.

ASP.NET 1.1
1. Click start, run and type this in:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
2. Click start, run and type this in:
%SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
Note:Make sure ASP.NET 1.1 is Allowed in the Web service extension list in Internet Information Services Manager.

AND

ASP.NET 2.0 (32-bit)
1. Click start, run and type this in:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
2. Click start, run and type this in:
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
Note: Make sure ASP.NET 2.0 (32 bit) is Allowed in the Web service extension list in Internet Information Services Manager.

OR

ASP.NET 2.0 (64-bit)
1. Click start, run and type this in:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
2. Click start, run and type this in:
%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
Note: Make sure ASP.NET 2.0 (64 bit) is Allowed in the Web service extension list in Internet Information Services Manager.

Note: Change 2.0.50727 to whatever build of the framework you have.