Getting Started with MetaEdit 2.0

Welcome to version 2.0 of MetaEdit. This new version incorporates several important changes from MetaEdit 1.0. For more information, click on a topic below:

  • What is MetaEdit?
  • Important Notice
  • End-User License Agreement
  • Changes in MetaEdit 2.0

© 1998 by Microsoft Corporation. All rights reserved.


What is MetaEdit 2.0?

MetaEdit 2.0 is designed to help administer Microsoft® Internet Information Server for Windows NT® Server 4.0, and Microsoft® Internet Information Services for Windows 2000®.

It is also designed to replace MetaEdit 1.0 that shipped in the Microsoft® Internet Information Server Resource Kit, and includes several changes.


Important Notice

A Few Words of Warning:

  • Incorrectly configuring properties in the metabase can cause problems, including the failure of Internet services. If you make mistakes, your server’s configuration could be damaged.
  • Edit metabase properties only for the settings that you cannot adjust in the Internet Service Manager (ISM) user interface, and be very careful whenever you edit the metabase directly.
  • You should always make a backup of your metabase before making any changes.

Please read the End-User License Agreement for more information.


End-User License Agreement for Microsoft Software

IMPORTANT-READ CAREFULLY: This Microsoft End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software accompanying this EULA, which includes computer software and may include associated media, printed materials, and "online" or electronic documentation ("SOFTWARE PRODUCT" or "SOFTWARE"). By exercising your rights to make and use copies of the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, you may not use the SOFTWARE PRODUCT.

SOFTWARE PRODUCT LICENSE

The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.

  1. GRANT OF LICENSE. This EULA grants you the following rights: Installation and Use. You may install and use an unlimited number of copies of the SOFTWARE PRODUCT in conjunction with your use of Microsoft Products. Reproduction and Distribution. You may reproduce and distribute an unlimited number of copies of the SOFTWARE PRODUCT; provided that each copy shall be a true and complete copy, including all copyright and trademark notices, and shall be accompanied by a copy of this EULA. Copies of the SOFTWARE PRODUCT may be distributed as a standalone product or included with your own product.
  2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS. Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation. Separation of Components. The SOFTWARE PRODUCT is licensed as a single product. Its component parts may not be separated. Software Transfer. You may permanently transfer all of your rights under this EULA, provided the recipient agrees to the terms of this EULA. Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
  3. COPYRIGHT. All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material.
  4. U.S. GOVERNMENT RESTRICTED RIGHTS. The SOFTWARE PRODUCT and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software-Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399.

LIMITED WARRANTY

NO WARRANTIES. Microsoft expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation is provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties or merchantability, fitness for a particular purpose, or noninfringement. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.

NO LIABILITY FOR DAMAGES. In no event shall Microsoft or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this Microsoft product, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.

MISCELLANEOUS

If you acquired this product in the United States, this EULA is governed by the laws of the State of Washington.

If this product was acquired outside the United States, then local laws may apply.

Should you have any questions concerning this EULA, or if you desire to contact Microsoft for any reason, please contact the Microsoft subsidiary serving your country, or write:

Microsoft Sales Information Center
One Microsoft Way
Redmond, WA 98052-6399


Changes in MetaEdit 2.0

MetaEdit 2.0 contains the following changes from MetaEdit 1.0:

  • Administration Changes
  • User Interface Changes

Administration Changes

  • Added Backup/Restore
    • Identical to Backup/Restore in Internet Service Manager
  • Added Import/Export:
    • Can import to the same key or a new key for comparing
    • Saves to text file with CRC checking to prevent corruption
    • Secure data is saved using CryptoAPI
  • Removed ability to delete, move, or rename the "/LM" and "/SCHEMA" keys

User Interface Changes

  • Now resembles REGEDIT in look and feel
  • Saves and uses it's registry settings properly
  • Added accessibility features:
    • Added hotkeys to all forms
    • Changed all tab indexes so they make sense
  • Double-clicking on error list finds error in metabase settings
  • The "Check" feature can now be set to filter messages for:
    • Errors
    • Information
    • Warnings
  • Changes to Edit Forms:
    • Use of attribute names
      • Forms load the attribute names
      • Only shows attributes based on data type by lookup, and changing data type
        does another lookup
      • Invalid data types are trapped
    • Can no longer change the data type of existing properties (very destructive)
    • Secure data changes:
      • Secure data is no longer shown on the simple edit page (uses password-style field)
      • Secure data cannot be made unsecure, and displays warning that setting keys to secure is a one-way act for MetaEdit


Metabase Introduction

This section is designed to give you a brief introduction to the metabase and contains some abridged quotations from the Windows NT Option Pack documentation that explain important terms and concepts.

About the Metabase

This section contains the following conceptual information about the metabase:

  • What is the Metabase?
    • Metabase Keys
    • Inheritance
    • Metabase Hierarchy
    • Practical Example
  • Changing Metabase Settings
  • Where is the Metabase Kept?


What is the Metabase?

The metabase is a hierarchical database that is used to store configuration values for IIS. In previous versions of IIS, such values were configurable by directly editing the registry. Some values are still configurable by editing the registry, but the metabase provides more granularity in the configuration of server properties. You can set server properties at the computer, Web site, virtual directory, directory, and file level by modifying the metabase.

This section contains the following topics:

  • Metabase Keys
  • Inheritance
  • Metabase Hierarchy
  • Practical Example


Metabase Keys

The metabase hierarchy mirrors the structure of IIS and resembles a disk directory hierarchy in form. Each node in the metabase hierarchy is called a key, and each key contains subkeys, just as a directory contains files. Like a directory, each key has multiple properties (or configuration values) that are associated with it.

Key names in the metabase are not unique unless they are qualified by their metabase paths, just as different files with the same name are differentiated by the directories in which they exist. The keys are specified during programming or scripting using a metabase path and an object name; the syntax of the path and object name depends on the interface.


Inheritance

The Machine key in the example below represents the IIS system executing on the computer. Properties set as this key, such as MaxBandwidth and MemoryCacheSize, affect overall operating parameters for IIS. The W3SVC service key contains properties that affect all instances of the service (known as sites). The key for an individual W3SVC site has properties specific to the W3SVC site. Subordinate to each W3SVC site key is a ROOT key that contains the settings for that site's folders and virtual directories.

Machine
W3SVC service
W3SVC site n
W3SVC root

Note: Metabase keys are uniquely identified by ADsPath and IIS Admin Object; the names in this example of the hierarchy are not actual names of metabase keys.

When keys at different configuration levels share metabase properties, properties set at higher levels can be passed on to (or inherited by) lower configuration levels. Most Microsoft W3SVC Service metabase properties are inheritable. However, inherited properties also can be edited individually at lower configuration levels. Changes made to property settings at a higher configuration level will not override changes made previously at the lower-level settings for an individual site.


Metabase Hierarchy

The following diagram from the Windows NT Option Pack documentation shows a simple hierarchy tree:


Practical Example

Since the metabase is laid out in a hierarchical design with inheritance, let’s say that you create a new web site after installing the Windows NT Option Pack. Setup has created two web sites already, the Default Web Site and the Administration Web Site. These would be in Machine/W3SVC/1 and Machine/W3SVC/2, and on the local machine using MetaEdit the "Machine" would show up as LM for "Local Machine".

When you create the new site it will be naturally be in LM/W3SVC/3. It will then inherit all parameters set in LM/W3SVC in the same way that creating a new directory will inherit the parent directory’s NTFS permissions. After creating the site you decide to add a new virtual directory named "Test". When you use the MMC to create the new vroot it’s settings will be in LM/W3SVC/3/ROOT/Test, once again inheriting any settings that you didn’t specify when using the new virtual directory wizard.


Changing Metabase Settings

The metabase can be modified in the following ways: By configuring values through the use of Internet Service Manager, the IIS Admin Objects user interface (which conforms to the Microsoft Active Directory Services Interface [ADSI]), and the IIS Admin Base Object (which is implemented through DCOM). MetaEdit 2.0 actually uses a combination of these methods to view and modify the metabase.


Where is the Metabase Kept?

The metabase key values are stored in a disk file. The metabase is loaded from disk when IIS starts, stored to disk when IIS shuts down, and saved periodically while IIS is running. It is important to protect this file from unauthorized use, even though secure data is stored in a secure manner within the file. It is recommended that you store this file on an NTFS partition and use Windows NT® security to protect it.

The metabase is stored in a special format file, by default named METABASE.BIN in the INETSRV directory in which you installed IIS. You can move or rename the file and change the Windows NT registry setting that tells IIS where to find the file on startup. To relocate or rename the metabase file, you will need to stop IIS, move or rename the file, and modify the registry key HKLM\SOFTWARE\Microsoft\INetMgr\Parameters. Add a REG_SZ value to this key named MetadataFile that specifies the new complete path of the metabase file including the drive letter and file name.


Using MetaEdit 2.0

This section describes the operation of use of MetaEdit 2.0.

Note: It is of paramount importance that you read the Important Notice before making any changes to the metabase.

  • Working with Keys
    • Adding
    • Renaming
    • Deleting
  • Working with Values
    • Adding
    • Modifying
    • Deleting
  • Checking the Metabase
    • Checking the Schema
    • Checking a Key
    • Checking All Keys
    • Setting Options
  • Backup/Restore of the Metabase
    • Backing up the Metabase
    • Restoring the Metabase
  • Export/Import of Metabase settings
    • Exporting Settings
    • Importing Settings
      • Importing to New Key
      • Importing to Original Keys


Working with Keys

This section describes adding/deleting keys in the metabase. If you are unfamiliar with any of the metabase terminology presented here, please read the documentation included with IIS.

  • Adding
  • Renaming
  • Deleting

Adding

To add a new key to the metabase, use the following steps:

  • Highlight the key where you want to add a new subkey
  • Click "Edit" on the menu, then click "New" and then "Key"
  • A new key will appear in the tree view of the metabase in label edit mode allowing you to rename the key

Renaming

To rename a metabase key, use the following steps:

  • Highlight the key you want to rename
  • Choose one of the following two methods:
    • Click "Edit" on the menu, then click "Rename"
    • Right-click on the key, then click "Rename" on the pop-up menu
  • The key will enter label edit mode allowing you to rename the key

Deleting

To delete a metabase key, use the following steps:

  • Highlight the key you want to delete
  • Choose one of the following two methods:
    • Click "Edit" on the menu, then click "Delete"
    • Right-click on the key, then click "Delete" on the pop-up menu
  • MetaEdit will prompt you if you are sure that you want to delete the key
  • If you are sure that you want to delete the key, choose "Yes"


Working with Values

This section describes adding/deleting values in the metabase. If you are unfamiliar with any of the metabase terminology presented here, please read the documentation included with IIS.

  • Adding
  • Modifying
  • Deleting

Adding

To add a new value to the metabase, use the following steps:

  • Highlight the key where you want to add a new value
  • Click "Edit" on the menu, then click "New" and then choose one of the following:
    • DWord - A numeric value, often used for numeric properties or true/false conditions
    • String - A string of text characters
    • Binary - A string of byte characters
    • Expand String - A string of text characters
    • Multi-String - A collection of strings containing text characters
  • An edit box will be displayed allowing you to choose the value type from a drop-down box
  • Choose the the value that you want to add, then specify any settings for the value:
    • Attributes:
      • Inherit
      • Secure
      • Reference
      • Volatile
      • Insert Path
    • User Type
      • ASP Application
      • File
      • Server
      • WAM
  • Click the "OK" button

Modifying

To modify a value in the metabase, use the following steps:

  • Highlight the key where the value is located
  • Double-click the value you want to modify
  • An edit box will be displayed allowing you to edit the value's settings
  • Click the "OK" button when finished

Deleting

To delete a metabase value, use the following steps:

  • Highlight the key where the value is located
  • Highlight the value you want to delete
  • Choose one of the following two methods:
    • Click "Edit" on the menu, then click "Delete"
    • Right-click on the key, then click "Delete" on the pop-up menu
  • MetaEdit will prompt you if you are sure that you want to delete the value
  • If you are sure that you want to delete the value, choose "Yes"


Checking the Metabase

Checking the metabase is designed to help diagnose potential problems or metabase corruption. Note: Not all error conditions that are detected indicate an error, they may only indicate a difference from the ADSI specification. For example, several services use properties that are not defined in the schema. While these may be shown as errors, it is most often benign and can be ignored.

This section contains the following topics:

  • Setting Options
  • Checking the Schema
  • Checking a Key
  • Checking All Keys


Setting Options

The check functionality in MetaEdit supports changing the following options:

  • Max Key Size: This is the maximum size of a key and all its properties that can be checked.
  • Max Property Size: In contrast to the max key size, this is the largest property that can be checked.
  • Max Number of Errors: This is the max number or errors that the check function will return per key that is being checked.
  • Errors to Display: Toggling these options will allow you to filter the information that is displayed:
    • Severity 1: Errors - these may possibly point to metabase corruption
    • Severity 2: Warnings - these messages may point to misconfiguration
    • Severity 3: Information - most often these messages point to properties that are undefined in the schema

To set the options, click on "Check" on the menu bar, and then select "Options...".


Checking the Schema

Checking the metabase schema can be thought of as an internal housekeeping chore for the metabase. Running this check will show which metabase keys may not be properly defined. Most often you will see a large number of warning messages for mismatches between classes and properties.

To check the schema, perform the following steps:

  • Click on "Check" on the menu bar
  • Select "Schema" on the drop-down menu

Any errors errors found will be displayed in an error list that will be displayed. Clicking on an error will find it in the metabase.


Checking a Key

Checking a key is a quick way to find errors in a single section of the metabase.

To check a key, perform the following steps:

  • Highlight the key that you want to check
  • Click on "Check" on the menu bar
  • Select "Key" on the drop-down menu

Any errors errors found will be displayed in an error list that will be displayed. Clicking on an error will find it in the metabase.


Checking All Keys

Checking all keys takes longer than checking a single key, and is designed way to find errors across the entire metabase.

To check all key, perform the following steps:

  • Click on "Check" on the menu bar
  • Select "All Keys" on the drop-down menu

Any errors errors found will be displayed in an error list that will be displayed. Clicking on an error will find it in the metabase.


Backup/Restore of the Metabase

Backing up and restoring metabase settings from MetaEdit is a new feature in MetaEdit 2.0, and mirrors the Backup/Restore feature of the Internet Service Manager (ISM) snap-in for the Microsoft Management Console (MMC).

Notes about Metabase Backups

  • It is recommended that you make periodic backups of your metabase should you sometime need to restore your settings.
  • Backups are saved by default in %SystemRoot%\System32\InetSrv\MetaBack. (Files in this directory can be backed up to tape as an extra measure.)
  • Backups cannot be used if the operating system is rebuilt.
  • Backups cannot be copied from one machine to another. (See Export/Import of Metabase Settings.)


Backing up the Metabase

Making frequent backups of your metabase settings is a good habit to form, as this is the best method to rebuild your web server should the metabase become corrupted.

  • Click "Metabase" on the menu bar, then select "Backup/Restore..."
  • Any current backups will be listed in the "Previous Backups" section
  • Click the "Create Backup" button
  • You may either accept the default filename or enter a new filename
  • Click "OK" and the backup file will be created


Restoring the Metabase

Restoring the metabase is a potentially destructive operation, so it is essential that you use caution.

  • Click "Metabase" on the menu bar, then select "Backup/Restore..."
  • Any current backups will be listed in the "Previous Backups" section
  • Choose the appropriate backup file, then click the "Restore" button
  • Read the next warning very carefully:
    • Choosing "No" will cancel the restore operation
    • Choosing "Yes" will restore the metabase settings - overwriting all your current settings
  • Choose "Yes" and the settings will be restored


Export/Import of Metabase Settings

Exporting and importing metabase settings are new in MetaEdit 2.0, and potentially destructive operation. It is extremely important that you read all dialogs carefully.

Note: Please read the Important Notice before making any changes to the metabase.

  • Exporting Settings
  • Importing Settings
    • Importing to New Key
    • Importing to Original Keys


Exporting Settings

Exporting metabase settings to a text file can assist you when you want to analyze a possibly corrupt metabase on another computer, or to copy/email metabase settings from one computer to another. Note: To create a backup of the metabase, you should use the Backup/Restore functionality.

The following example shows you how to export your FTP service settings.

  • Exporting the metabase settings
    • Select and expand the "LM" key, then highlight the "MSFTPSVC" key
    • Click "Metabase" on the menu bar, then select "Export Text File..."
    • Read the warning and then choose "Yes"
    • Choose an appropriate name for the export file in the "Save" dialog box, then click the "Save" button
    • Read the next warning carefully to verify your choices
    • If everything is correct choose "Yes" to begin the import
  • While the export is running the status bar will display:
    • The current export path
    • (When exporting W3SVC settings, any applications that are disabled and then enabled will be displayed as well)


Importing Settings

Note: Importing metabase settings is a potentially destructive operation. It is extremely important that you read the Important Notice before making any changes to the metabase.

  • Importing to a New Key
  • Importing to the Original Keys


Importing to a New Key

It is often useful to import metabase settings to a new key when analyzing the metabase from another computer. The following example describes importing the metabase settings in a test file to a new key.

  • Create a new key
    • Open the metabase and highlight the "LM" key
    • Click "Edit" on the menu bar, then select "New" and "Key"
    • Name the new key "Test Key"
  • Import the settings
    • Select the new "Test Key"
    • Click "Metabase" on the menu bar, then select "Import Text File..."
    • Read the warning and then choose "Yes"
    • Choose the appropriate test file in the "Open" dialog box, then click the "Open" button
    • Read the next warning very carefully:
      • Choosing "No" will import to the new key
      • Choosing "Yes" will import to the settings to their original locations - possible overwriting your current settings
    • Choose "No" and then verify your choices
    • If everything is correct choose "Yes" to begin the import
  • While the import is running the status bar will display:
    • The current import path
    • Any applications that are disabled and then enabled


Importing to the Original Keys

Import metabase settings to the original keys is most useful when copying the settings from a primary computer to a secondary computer.

  • Click "Metabase" on the menu bar, then select "Import Text File..."
  • Read the warning and then choose "Yes"
  • Choose the appropriate test file in the "Open" dialog box, then click the "Open" button
  • Read the next warning very carefully:
    • Choosing "No" will import to the new key
    • Choosing "Yes" will import to the settings to their original locations - possible overwriting your current settings
  • Choose "Yes" and then verify your choices
  • If everything is correct choose "Yes" to begin the import
  • While the import is running the status bar will display:
    • The current import path
    • Any applications that are disabled and then enabled


Legal Information

Microsoft Documentation

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

Microsoft, MS-DOS, MS, Windows, Windows NT, ActiveX, JScript, Microsoft Press, Visual Basic, Visual C++, Visual J++, Win32, and Win32s are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Other product and company names mentioned herein may be the trademarks of their respective owners.