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

编程中检查IIS7组件的安装情况的更多相关文章

  1. 条款十七: 在operator=中检查给自己赋值的情况

    在赋值运算符中要特别注意可能出现别名的情况,其理由基于两点.其中之一是效率.如果可以在赋值运算符函数体的首部检测到是给自己赋值,就可以立即返回,从而可以节省大量的工作,否则必须去实现整个赋值操作. 另 ...

  2. Laravel 如何在blade文件中使用Vue组件

    Laravel 如何在blade文件中使用Vue组件 1. 安装laravel/ui依赖包 composer require laravel/ui 2.生成vue基本脚手架 php artisan u ...

  3. vs安装部署“必备”组件里面正常情况没有出现office2010 PIA组件

    vs安装部署“必备”组件里面正常情况没有出现office2010 pia组件时,将 Office2010PIARedist 文件夹放在C:\Program Files\Microsoft SDKs\W ...

  4. 浅析C#组件编程中的一些小细节

    控件与组件的区别(Control&Component的区别) 作者:作者不详  发布日期:2011-06-30 12:08:41 控件与组件的区别(Control&Component的 ...

  5. 大数据学习day13------第三阶段----scala01-----函数式编程。scala以及IDEA的安装,变量的定义,条件表达式,for循环(守卫模式,推导式,可变参数以及三种遍历方式),方法定义,数组以及集合(可变和非可变),数组中常用的方法

    具体见第三阶段scala-day01中的文档(scala编程基础---基础语法)  1. 函数式编程(https://www.cnblogs.com/wchukai/p/5651185.html): ...

  6. WinForm中的ListBox组件编程

    ListBox组件是一个程序设计中经常使用到的组件,在Visual C#和Visual Basic .Net程序中使用这个组件,必须要在程序中导入.Net FrameWork SDK中名称空间Syst ...

  7. 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程

    简述C#中IO的应用   在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...

  8. (转)Attribute在.net编程中的应用

    Attribute在.net编程中的应用(一)Attribute的基本概念 经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行.实际上在.Net中,Attribute是一 ...

  9. [转]Attribute在.net编程中的应用

    Attribute在.net编程中的应用(一) Attribute的基本概念 经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行.实际上在.Net中,Attribute是 ...

随机推荐

  1. learning scala 变量

    scala 变量: val : 声明时,必须被初始化,不能再重新赋值. scala> test = "only1"<console>:11: error: not ...

  2. oracle多表查询之内连接,外连接语句总结

    后期会补充建表语句. 现有两张表,westemp员工表,有(wtdempid,wtdempname,wtddeptid)列,westdept部门表,有(wtddeptid,wtddeptname,wt ...

  3. MyEclipse关联SVN下载项目到本地

    目的:在MyEclipse上关联SVN,从SVN服务器上,下载项目,到本机的MyEclipse上,并运行 准备工作 1.安装好Tomcat和MyEclipse 2.安装好Plsql,并配置连接好Ora ...

  4. 用正则表达式匹配用rdf3x处理过后的TTL格式文档

    1.比如下面这个用rdf3x处理过后的TTL文档片段: 注意缩进的是两个空格 <http://rdf.ebi.ac.uk/resource/chembl/target/CHEMBL2363853 ...

  5. 关于反射的BindingFlag浅析

    MSDN关于BindingFlag的文档地址:https://msdn.microsoft.com/zh-cn/library/cexkb29a BindFlags作为一个特别的标志量,在反射中通过这 ...

  6. ora-01830:日期格式图片在转换整个输入字符串之前结束

    在to_date的时候因为 fldsj这个字段的大小 与 ‘yyyy-MM-dd’不符合 所以需要截取下fldsj字段的大小  to_char(to_date(substr(fldsj,1,10),' ...

  7. 2019.1.3 WLAN 802.11 a/b/g PHY Specification and EDVT Measurement II - Transmit Spectrum Mask & Current Consumption

    Transmit Spectrum Mask Specification – 802.11b SpecificationFor 802.11b 18.4.7.3The transmitted spec ...

  8. 获取exe所在目录路径,速度

    // test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> #include &l ...

  9. C# 高性能的数组 高性能数组队列实战 HslCommunication的SharpList类详解

    本文将使用一个gitHub开源的组件技术来实现这个功能 github地址:https://github.com/dathlin/HslCommunication                     ...

  10. 京东Java面试题(一)

    1.说一下java类集2.字符串哈西相等,equals相等吗?反过来呢?3.Spring的工作原理,控制控制反转是怎么实现的,自己写过滤器过滤编码怎么实现4.框架的源码有没有看过5.动态代理是怎么实现 ...