When we try to run an asp.net application on IIS6 Win2003 Svr En with Sp2 x64. It always show "Service Unavailable". the log is : Could not all ISAP filter...... I am sure this is IIS error. After look up internet from Microsoft KB. the solution as below:
1. Raise up IIS6.0, set it 32 bit disable
2. register x64 dotnet 2.0
3. reset iis.
Following is Microsoft detail actions:
- Click Start, click Run, type cmd, and then click OK.
- Type the following command to disable the 32-bit mode:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
- Type the following command to install the version of ASP.NET 2.0 and to install the script maps at the IIS root and under:
%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
- Make sure that the status of ASP.NET version 2.0.50727 is set to Allowed in the Web service extension list in Internet Information Services Manager.
Please refer to : http://support.microsoft.com/kb/894435
loadTOCNode(1, 'moreinformation');
On a 64-bit version of Windows Server 2003 that has SP1 installed, IIS starts a 32-bit worker process or a 64-bit worker process, according to the value in the following metabase property:
IIS 6.0 cannot make sure that configured ISAPI Filter DLLs and ISAPI Extension DLLs can actually load in a worker process. You must make sure that only 32-bit ISAPI DLLs are configured to load in a 32-bit worker process or only 64-bit ISAPI DLLs are configured to load in a 64-bit worker process.
If you configure a 32-bit ISAPI Filter DLL to load in a 64-bit worker process or if you configure a 64-bit ISAPI Filter DLL to load in a 32-bit worker process, an error message that is similar to the following may be written to the Application log:
W3SVC/AppPools/Enable32bitAppOnWin64
When the value for the Enable32bitAppOnWin64 property is 0, or when the property is missing, IIS 6.0 starts a 64-bit worker process. If the Enable32bitAppOnWin64 property is present and the value is anything other than 0, IIS 6.0 will start a 32-bit worker process.IIS 6.0 cannot make sure that configured ISAPI Filter DLLs and ISAPI Extension DLLs can actually load in a worker process. You must make sure that only 32-bit ISAPI DLLs are configured to load in a 32-bit worker process or only 64-bit ISAPI DLLs are configured to load in a 64-bit worker process.
If you configure a 32-bit ISAPI Filter DLL to load in a 64-bit worker process or if you configure a 64-bit ISAPI Filter DLL to load in a 32-bit worker process, an error message that is similar to the following may be written to the Application log:
Event Type: Error
Event Source: W3SVC-WP
Event Category: None
Event ID: 2268
Description:
Could not load all ISAPI filters for site/service. Therefore startup aborted.
Data: 0000: c1 00 00 00
If you configure a 32-bit ISAPI Extension DLL to load in a 64-bit worker process or if you configure a 64-bit ISAPI Extension DLL to load in a 32-bit worker process, you may also receive a 500 error response that contains the following text:
Event Source: W3SVC-WP
Event Category: None
Event ID: 2268
Description:
Could not load all ISAPI filters for site/service. Therefore startup aborted.
Data: 0000: c1 00 00 00
%1 is not a valid Win32 application
We also recommend that you use a 32-bit debugger to troubleshoot 32-bit Web applications. Or, use a 64-bit debugger to troubleshoot 64-bit Web applications. The dump file information may not be accurate if you use either of the following methods:
• | You use a 64-bit debugger to debug a 32-bit process or application. |
• | You use a 32-bit debugger to debug a 64-bit process or application. |