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 |