http://learn.iis.net/page.aspx/135/discover-installed-components/
说明:ASP.NET网络应用程序在IIS7上部署的时候,经常会要求预装某些组件(特别是IIS6的兼容组件),上文即描述了如何通过编程的方法确定各个组件是否已经安装。

Discover Installed Components

By IIS Team

November 22, 2007

Introduction

The modular architecture in IIS 7.0 and above allows you to limit the potential attack surface on your IIS installation, or to replace built-in features with third-party or custom implementations. In general, this architecture offers you an the ability to control how you deploy IIS on your network.

But if there is a downside to this modular architecture, it is that you can no longer be certain every IIS component you need is available, just because IIS has been installed. You might also discover that making sure multiple servers all have the same IIS components can be a chore.

To work around these issues, we are publishing a list of registry keys that show whether any given IIS module has been installed. Use these registry keys to programmatically check on IIS components. If a component has been installed, the registry key has a DWORD value of 00000001. If a component has never been installed or has been uninstalled, the registry key does not exist. Use the table below to match IIS component names with their registry keys.

Registry Keys

These keys appear in the following registry hive:

HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp\Components\

Display Name

Registry Key

Web Server

W3SVC

Common HTTP Features

Static Content

StaticContent

Default Document

DefaultDocument

Directory Browsing

DirectoryBrowse

HTTP Errors

HttpErrors

HTTP Redirection

HttpRedirect

Application Development Features

ASP.NET

ASPNET

.NET Extensibility

NetFxExtensibility

ASP

ASP

CGI

CGI

ISAPI Extensions

ISAPIExtensions

ISAPI Filters

ISAPIFilter

Server-Side Includes

ServerSideInclude

Health and Diagnostics

HTTP Logging

HttpLogging

Logging Tools

LoggingLibraries

Request Monitor

RequestMonitor

Tracing

HttpTracing

Custom Logging

CustomLogging

ODBC Logging

ODBCLogging

Security

Basic Authentication

BasicAuthentication

Windows Authentication

WindowsAuthentication

Digest Authentication

DigestAuthentication

Client Certificate Mapping Authentication

ClientCertificateMappingAuthentication

IIS Client Certificate Mapping Authentication

IISClientCertificateMappingAuthentication

URL Authorization

Authorization

Request Filtering

RequestFiltering

IP and Domain Restrictions

IPSecurity

Performance Features

Static Content Compression

HttpCompressionStatic

Dynamic Content Compression

HttpCompressionDynamic

Management Tools

IIS Management Console

ManagementConsole

IIS Management Scripts and Tools

ManagementScriptingTools

Management Service

AdminService

IIS 6 Management Compatibility

IIS Metabase Compatibility

Metabase

IIS 6 WMI Compatibility

WMICompatibility

IIS 6 Scripting Tools

LegacyScripts

IIS 6 Management Console

LegacySnapin

FTP Publishing Service

FTP Server

FTPServer

FTP Management snap-in

LegacySnapin

Windows Process Activation Service

Process Model

ProcessModel

.NET Environment

NetFxEnvironment

Configuration APIs

WASConfigurationAPI

05-28 11:29