编程中检查IIS7组件的安装情况
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组件的安装情况的更多相关文章
- 条款十七: 在operator=中检查给自己赋值的情况
在赋值运算符中要特别注意可能出现别名的情况,其理由基于两点.其中之一是效率.如果可以在赋值运算符函数体的首部检测到是给自己赋值,就可以立即返回,从而可以节省大量的工作,否则必须去实现整个赋值操作. 另 ...
- Laravel 如何在blade文件中使用Vue组件
Laravel 如何在blade文件中使用Vue组件 1. 安装laravel/ui依赖包 composer require laravel/ui 2.生成vue基本脚手架 php artisan u ...
- vs安装部署“必备”组件里面正常情况没有出现office2010 PIA组件
vs安装部署“必备”组件里面正常情况没有出现office2010 pia组件时,将 Office2010PIARedist 文件夹放在C:\Program Files\Microsoft SDKs\W ...
- 浅析C#组件编程中的一些小细节
控件与组件的区别(Control&Component的区别) 作者:作者不详 发布日期:2011-06-30 12:08:41 控件与组件的区别(Control&Component的 ...
- 大数据学习day13------第三阶段----scala01-----函数式编程。scala以及IDEA的安装,变量的定义,条件表达式,for循环(守卫模式,推导式,可变参数以及三种遍历方式),方法定义,数组以及集合(可变和非可变),数组中常用的方法
具体见第三阶段scala-day01中的文档(scala编程基础---基础语法) 1. 函数式编程(https://www.cnblogs.com/wchukai/p/5651185.html): ...
- WinForm中的ListBox组件编程
ListBox组件是一个程序设计中经常使用到的组件,在Visual C#和Visual Basic .Net程序中使用这个组件,必须要在程序中导入.Net FrameWork SDK中名称空间Syst ...
- 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程
简述C#中IO的应用 在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...
- (转)Attribute在.net编程中的应用
Attribute在.net编程中的应用(一)Attribute的基本概念 经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行.实际上在.Net中,Attribute是一 ...
- [转]Attribute在.net编程中的应用
Attribute在.net编程中的应用(一) Attribute的基本概念 经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行.实际上在.Net中,Attribute是 ...
随机推荐
- POJ 2752 KMP中next数组的理解
感觉这里讲的挺好的.http://cavenkaka.iteye.com/blog/1569062 就是不断递归next数组.长度不断减小. 题意:给你一个串,如果这个串存在一个长度为n的前缀串,和长 ...
- bzoj3105
题解: 一道博弈论 题目要求取得最少,那么就是留下的最多 把石子从大到小排序 从打的开始刘 如果可以留,那么就留下了 如果留下了与前面留下来的异或后不为0,那么就可以留 代码: #include< ...
- css控制编辑器内容自动换行
在编辑器或者文本框中按住数字或字母不放 当字符很长时,就会撑破页面, 可以用一下方法控制字符自动换行 style="word-break:break-all;"
- SharePoint Word Service-PowerShell
1. 配置转换进程 Set-SPWordConversionServiceApplication –Identity "Word Automation Services" –Act ...
- Tomcat服务器启动失败:Could not publish server configuration for Tomcat v8.0 Server at localhost. Multiple Contexts have a path of
在eclipse中使用Tomcat8.0时,出现了如下错误: 解决办法: 在建立Tomcat服务时,eclipse会自动生成一个Servers的项目. 在这个项目中,找到你部署项目的服务文件夹. 在这 ...
- UIViewController简述
一.View Controller Classes 二.自定义UIVIewController 1.创建 a)nib文件 [cpp] view plaincopyprint? - (BOOL)ap ...
- hdu-5810 Balls and Boxes(概率期望)
题目链接: Balls and Boxes Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/O ...
- HDU 1518 Square(DFS)
Problem Description Given a set of sticks of various lengths, is it possible to join them end-to-end ...
- UIImageView有关的帧动画
纯代码:设置imageView帧动画 @interface ViewController () { UIImageView *_imgView; NSMutableArray<UIImage * ...
- SVM的新理解
svm导出的原始问题然后利用KKT条件,为何还需要对偶空间? 一方面,实际上KKT条件怎么得到的?KKT条件的推导是:svm原始问题->极大极小问题(先算极小这步,但极小这步中α是有约束的,不好 ...