views:

316

answers:

1

Using either VB.NET, C#, or VBScript, how can I check if the IIS 6 Management Compatibility feature and its subfeatures have been installed on a machine running IIS 7.x?

+1  A: 

I performed some tests using a trial copy of Registry Workshop (the Compare Registries function) and found the following:

If IIS 7.x is installed, the following Registry key contains information about the installed subcomponents:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Components

Each installed feature is represented with a value of DWORD 0x00000001. If a feature is not installed, the value is missing.

For the Web Management Tools, the value names are as follows:

Web Management Tools
  IIS 6 Management Compatibility
    IIS 6 Management Console                              (LegacySnapin)
    IIS 6 Scripting Tools                                 (LegacyScripts)
    IIS 6 WMI Compatibility                               (WMICompatibility)
    IIS Metabase and IIS 6 configuration compatibility    (Metabase + ADSICompatibility)

  IIS Management Console                                  (ManagementConsole)
  IIS Management Scripts and Tools                        (ManagementScriptingTools)
  IIS Management Service                                  (AdminService)

Note that these component names came from a Windows 7 installation and might differ slightly from those of Windows Server 2008, though the Registry keys should be the same.

Some of this is mentioned in a note to this article: Using Managed Code to Detect if IIS is Installed and ASP/ASP.NET is Registered

A list of these and other subcomponents can be found here: Discover Installed Components

Joergen Bech