91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#如何用代碼檢測IIS是否已經(jīng)啟用“IIS6元數(shù)據(jù)庫兼容性”

admin
2021年6月15日 9:26 本文熱度 4665

使用 VB.NET、C# 或 VBScript,如何檢查 IIS 6 管理兼容性功能及其子功能是否已安裝在運行 IIS 7.x 的計算機上?

解決方案

我使用 Registry Workshop 的試用版(比較注冊表功能)進行了一些測試,結(jié)果如下:

如果安裝了 IIS 7.x,以下注冊表項包含有關(guān)已安裝子組件的信息:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Components

每個已安裝的功能都用 DWORD 0x00000001 的值表示。如果未安裝功能,則缺少該值。

對于 Web 管理工具,值名稱如下:

Web Management Tools

IIS 6 Management Compatibility

IIS 6 Management Console (LegacySnapin)                       //IIS6 管理控制臺

IIS 6 Scripting Tools (LegacyScripts)                         //IIS6 腳本工具

IIS 6 WMI Compatibility (WMICompatibility)                    //IIS6 WMI 兼容性

IIS Metabase and IIS 6 configuration compatibility (Metabase) //IIS6 元數(shù)據(jù)庫兼容性

 

IIS Management Console (ManagementConsole)                            //IIS 管理控制臺

IIS Management Scripts and Tools (ManagementScriptingTools)           //IIS 管理工具和腳本

IIS Management Service (AdminService)                                 //IIS 管理服務(wù)


請注意,這些組件名稱來自 Windows 7 安裝,可能與 Windows Server 2008 的組件名稱略有不同,但注冊表項應(yīng)該相同。

本文的注釋中提到了其中的一些內(nèi)容: 使用托管代碼檢測是否已安裝 IIS 并已注冊 ASP/ASP.NET

可以在此處找到這些和其他子組件的列表: 發(fā)現(xiàn)已安裝的組件

更新:

最終代碼中的一些核心功能。這不是完整的代碼,但對于花時間查找各種 IIS 版本的組件名稱的人來說應(yīng)該足夠了:

Function IsIISComponentInstalled(ByVal ComponentName)
Dim result
Dim intProcessorArchitecture
intProcessorArchitecture = GetProcessorArchitectureIIS()
If intProcessorArchitecture = 64 Then
'64-bit system
On Error Resume Next
Err.Clear
result = RegReadDWORD(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\InetStp\Components", ComponentName, 64)
If Err.Number <> 0 Then
Err.Clear
IsIISComponentInstalled = False
Else
If result = 1 Then
IsIISComponentInstalled = True
Else
IsIISComponentInstalled = False
End If
End If
Else
'32-bit system
If RegReadStringIIS("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Components\" & ComponentName) = "1" Then
IsIISComponentInstalled = True
Else
IsIISComponentInstalled = False
End If
End If
End Function

Function GetProcessorArchitectureIIS()
Dim strProcessorArchitecture
Dim oShell
Set oShell = CreateObject("Wscript.Shell")
strProcessorArchitecture = oShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")
If strProcessorArchitecture = "x86" Then
GetProcessorArchitectureIIS = 32
Else
If strProcessorArchitecture = "AMD64" Then
GetProcessorArchitectureIIS = 64
Else
GetProcessorArchitectureIIS = 0
End If
End If
End Function

Function RegReadStringIIS(sRegValue)
Set oShell = CreateObject("WScript.Shell")
On Error Resume Next
RegReadStringIIS = oShell.RegRead(sRegValue)
If Err Then
RegReadStringIIS = ""
Err.clear
End If
If VarType(RegReadStringIIS) < vbArray Then
If RegReadStringIIS = sRegValue Then
RegReadStringIIS = ""
End If
End If
On Error Goto 0
End Function
 
'-------------------------------------------------------------------
' Reads a REG_SZ value from the local computer's registry using WMI.
' Parameters:
' RootKey - The registry hive (see http://msdn.microsoft.com/en-us/library/aa390788(VS.85).aspx for a list of possible values).
' Key - The key that contains the desired value.
' Value - The value that you want to get.
' RegType - The registry bitness: 32 or 64.
'
'References:
' http://stackoverflow.com/questions/1229760/how-do-i-read-64-bit-registry-values-from-vbscript-running-as-a-an-msi-post-inst
' http://msdn.microsoft.com/en-us/library/aa393067(VS.85).aspx
' http://msdn.microsoft.com/en-us/library/windows/desktop/aa390445(v=VS.85).aspx
'
Function RegReadDWORD(RootKey, Key, Value, RegType)
Dim oCtx, oLocator, oReg, oInParams, oOutParams
Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
oCtx.Add "__ProviderArchitecture", RegType
Set oLocator = CreateObject("Wbemscripting.SWbemLocator")
Set oReg = oLocator.ConnectServer("", "root\default", "", "", , , , oCtx).Get("StdRegProv")
Set oInParams = oReg.Methods_("GetDWORDValue").InParameters
oInParams.hDefKey = RootKey
oInParams.sSubKeyName = Key
oInParams.sValueName = Value
Set oOutParams = oReg.ExecMethod_("GetDWORDValue", oInParams, , oCtx)
RegReadDWORD = oOutParams.uValue
End Function

 


該文章在 2021/6/15 9:31:17 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 久产久精九国品在线 | 国产精品一 | 日韩国产制服在线 | 国产精品广西柳州 | 日本高清视频www | 国产经典三级 | 绿巨人视频官网在线 | 成人向日葵app污 | 精品国产免费第一区 | 91成人免费观看 | 国产台湾佬国产娱乐 | 欧洲成人精品 | 91国产爽爽黄在 | 狠狠艹视频 | 日韩欧美国产免费看 | 成人亚洲国产精品 | 三年片在线观看免费 | 国产亚洲伊人久 | 日本在线一级 | 欧美午夜在线看片网 | 午夜小电影 | 欧美性性性 | 国产精品第一 | 国产自产中文综合网 | 欧美日韩乱伦视频 | 国产嫖妓正在播放 | 中文字幕一区婷婷久 | 国产精品自在拍在 | 91啦蝌蚪视频 | 日本伦理电影片观看 | 91成人精品爽啪 | 91大神精品全国 | 日本青草视频在线 | 国产网站91 | 精品在线免费播放 | 91九色国产视频 | 日韩中文高清在线 | 日韩午夜影视 | 国产a国产国产片 | 97国语| 国语自产偷拍 |