The IIS500 is wrong because Microsoft's bug is caused. Below is a solution:
Mainly due to the password error of the IWAM account (in my computer is IWAM_MYSERVER account), HTTP 500 internal error is caused.
Before detailed analysis of the reason for the internal error of the HTTP500, first make a brief introduction to the IWAM account: IWAM account is a built-in account that automatically established when installing IIS5, mainly for the Internet information service of the application outside the process. The name of the IWAM account will be different depending on each computer NetBIOS name. The general format is iWam_Machine, which is composed of the "iWam" prefix, the connection line "_" plus computer's NetBIOS name. My computer's NetBIOS name is MyServer, so my computer IWAM account is IWAM_MYSERVER, which is very similar to the naming method of IIS anonymous account isur_machine.
After IWAM account is established, it is used by the Active Directory, IIS Metabase database, and COM applications. The account password is saved separately, and the operating system is responsible for the synchronization of the IWAM password saved by these three parties. According to the constant, we are responsible for the operating system, we can rest assured that we don't have to worry about mistakes, but I don't know if it is bug or what is the reason for the system's password synchronization, the password of the IWAM account sometimes fails, so that the password used by the triplet IWAM account is not uniform. When IIS or COM application uses error IWAM's password login system, start IIS OUT-OF-Process Pooled Applications, the system will refuse this request due to password errors, resulting in the failure of IIS OUT-OF-Process Pooled Applications, that is Our "Cannot Run Server {3D14228D-FBE1-11D0-995D-00c04FD919C1}" (here {3D14228D-FBE1-119C1} is the key) of IIS Out-of-Process Pooled Applications If you cannot transfer to IIS5 applications, HTTP 500 internal errors are produced.
III. Solution
I know the reason for the internal error caused by HTTP 500, and solve it is relatively simple, that is the password in the artificial synchronization IWAM account in the Active Directory, IIS Metabase database, and COM applications.
For specific operations, you need to log in to your computer as an administrator to provide sufficient operating rights (IWAM account as an example of IWAM_MYSERVER).
(1) Change the password of the IWAM_MYSERVER account in Active Directory
Because the password of the IWAM account is controlled by the system, we don't know what it is, to complete the password of the following two steps, we must set the password of the IWAM account to a value we know.
1. Select "Start" -> Programs -> Administrative Tools -> "Active Directory User and Computers", launch the "Active Directory User and Computer" management unit.
2. Click "User", select "IWAM_MYSERVER" on the right, right-click Select "Reset Password (T) ...", set the new password for IWAM_MYSERVER in the reset password other box, which we set it into "AboutNT2001" (without quotation marks), determine, wait for the password to modify success.
(2) Synchronize IS METABASE password for IWAM_MYSERVER account
Maybe because this change is too sensitive and important, Microsoft does not provide a explicit user interface for us to modify the IIS Metabase. The IIS MYSERVER account password provides an explicit user interface, which only provides a management script adsutil.vbs with IIS5. This script is located in C: / INETPUB / In the adminScripts subdirectory (location may vary depending on the settings of setting IIS5).
Adsutil.vbs script is powerful, the parameters are very large and the usage is complicated. This only provides the use of this script to modify the IWAM_MYSERVER account password:
AdsuTil Set W3SVC / WamuserPass Password
The "password" parameter is the new password for the IWAM account to set. So we modify the password of IS Metabase IWAM_MYSERVER account to "AboutNT2001" command is:
C: / inetpub / adminsscripts> Adsutil Set W3SVC / WamuserPass "ABOUTNT2001"
After the revision is successful, the system will have the following tips:
Wamuserpass: (String) "Aboutnt2001"
(3) The password of IWAM_MYSERVER used in synchronization COM application
Synchronize the IWAM_MYSERVER password used by the COM application, we have two ways to choose: one is to use the component service MMC management unit, the other is to use the IWAM account synchronization script synciwam.vbs.
1. Use the component service MMC management unit
(1) Startup component service management unit: Select "Start" -> "Run" -> "MMC", start the management console, open the Add / Delete Management Unit dialog box, add the Component Service management unit.
(2) Find "Component Services" -> "Computer" -> "My Computer" -> "Com Applications" -> "Out-of-Process Pooled Applications", right-click "OUT-OF-Process Pooled Applications" -> "Properties".
(3) Switch to the "Sign" tab of the "OUT-OF-Process Pooled Applications" Properties dialog. "This application runs under the following account" Select "This user" will be selected, the username is "iWam_MyServer". These are default, no need to change. Enter the correct password "AboutNT2001" in the "Password" and "Confirm Password" text box to determine exit.
(4) System If prompted "The application is created by more than one external product. Do you have to support these products?" Is determined.
(5) If we set other web "Application Protection" to "High (independent)" in IIS, the IWAM account password for the COM application used by this web also needs to be synchronized. Repeat (1) - (4) step, synchronize the other Out of Process Application IWAM account password.
2, use IWAM account synchronization script synciwam.vbs
In fact, Microsoft has found that IWAM account has problems in password synchronization, so a script synciwam.vbs is written separately in the IIS5 management script, which is located in the C: / INETPUB / Adminscripts subdirectory (location) It will change due to the settings of setting IIS5 installed).
Synciwam.vbs script usage is relatively simple:
Cscript synciwam.vbs [-v | -h]
"-V" parameter represents the entire process of detailed display scripts (recommended), "- H" parameters are used to display simple help information. We have to sync the password of the IWAM_MYSERVER account in the COM application, just execute "CScript Synciwam.vbs -V", as follows:
Cscript c: /inetpub/adminscripts/synciwam.vbs -v
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2000. all rights reserved.
WamuserName: IWAM_MYSERVER
Wamuserpass: ABOUTNT2001
IIS Applications Defined:
Name, Appisolated, Package ID
W3SVC, 0, {3D14228C-FBE1-11D0-995D-00C04FD919C1}
Root, 2,
Iishelp, 2,
Iisadmin, 2,
Iissamples, 2,
MSADC, 2,
Root, 2,
Iisadmin, 2,
Iishelp, 2,
Root, 2,
Root, 2,
Out of process Applications Defined:
COUNT: 1
{3D14228D-FBE1-11D0-995D-00C04FD919C1}
Updating Applications:
Name: IIS OUT-OF-Process Pooled Applications Key: {3D14228D-FBE1-11D0-995D-00C04FD919C1}
It can be seen from the execution of the above scripts that use the SynciWam.vbs script to be more comprehensive and fast than using the components. It first finds the IIS's Metabase database to find the IWAM account "iWam_Myserver" and remove the corresponding password "ABOUTR2001", then find all the defined IIS Applications and Out of Process Applications, and synchronize each Out of Process Applications application IWAM account. password.
When using the synciwam.vbs script, pay attention to a question, that is, before you run SynciWam.vbs, you must ensure that the IIS Metabase database and the iWam password in the Active Directory have been consistent. Because SynciWam.vbs scripts are passwords from the IIS Metabase database rather than get the IWAM account from Active Directory, if the password in IIS Metabase is incorrect, the password obtained by SynciWam.vbs will be incorrect, and the synchronization operation is executed to "Updating Applications" The system will report 80110414 errors, ie "not finding the application {3D14228D-FBE1-11D0-995D-00c04FD919C1}".
Ok, until now, IWAM accounts are successful in Active Directory, IIS Metabase database, and COM applications, and your ASP program can run!