When trying to configure an Application Pool for a web site or web Application you see <Invalid Application Pool> in the Application Pool field on the Home Directory tab of the properties of the Site or Virtual directory. There may be other application pools to select or there may not.
There are no errors in the system event log.
This problem occurs when the KeyType element is missing or contains an invalid
string. A list of possible values for this element is available in MSDN.
Use adsutil.vbs to identify the Application pool which does not show up in the MMC
Enumerate the application pools:
C:\Inetpub\AdminScripts>adsutil.vbs enum /p w3svc/apppools
[/w3svc/apppools/Broken App Pool]
Then get each app pool keytype, we are looking for one which either returns "The Parameter 'keytype' is not set at this node" or returns a string which is NOT "IIsApplicationPool"
C:\Inetpub\AdminScripts>adsutil.vbs get "w3svc/apppools/Broken App Pool/keytype"
keytype : (STRING) "IIsApplicationPoolNOT"
Once you have identified the invalid application pool you need to correct or add the value for keytype.
C:\Inetpub\AdminScripts>adsutil.vbs set "w3svc/apppools/Broken App Pool/keytype" IIsApplicationPool
keytype : (STRING) "IIsApplicationPool"
You can also use Metabase Explorer to correct this issue. Metabase Explorer is part of the IIS Resource Kit Tools.
- Open MB Explorer.
- Expand LM>W3SVC>AppPools.
- Look for application pool which does not show up in IIS MMC or one missing or with an invalid string value. The only valid value at this location is "IIsApplicationPool".
- Add a Record called "KeyType" with a value of "IIsApplicationPool".
- Close Metabase Explorer.
- Open IIS MMC and should be able to change application pool on web site/virtual directory now.