How to: Register an IRM Protector

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

After you have compiled your custom Information Rights Management (IRM) protector, you must register that protector with Windows SharePoint Services to make it available for document libraries.

Each IRM protector is registered at the farm level, and made available to every document library in the server farm. Each IRM protector must be registered and deployed on every front-end Web server, and must be added to every registry subtree of each front-end Web server.

To register an IRM protector with Windows SharePoint Services

  1. Register the protector as a COM object.

    The threading model for this object should be set to both. Registering the protector as a COM object allows Windows SharePoint Services to reference the protector’s functions.

  2. Create the following registry key:

    HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\<protector name>

  3. Set the following registry subkeys in the HKLM\ SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\IrmProtectors key:

    • **Name:**ClassID of the protector. Must be the ClassID used to register the protector as a COM object.

    • Value: Name of the protector.

    • Type: String

    In addition, we highly recommended that a protector stores certain metadata about itself in the registry. Specifically, we recommended, but do not require, that a protector set and consume the following registry subkeys, which are set in the HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\<protector name> key:

    • Name: Extensions

    • Value: Comma-separated list of file extensions that this protector converts.

    • Type: String

    • Name: Product

    • Value: Name of the protector.

    • Type: String

    • Name: Version

    • Value: Version number of the protector.

    • Type: String

Example

The following example is a .wxs file that demonstrates how to associate file formats with an IRM protector. The example registers an IRM protector as a COM object, and sets the correct registry keys.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
  <Fragment>
    <DirectoryRef Id="STSBin">
      <Component Id="Contoso_IrmProtector" DiskId="1">
        <File Id="CONIRMP.DLL_0001">
          <TypeLib Id="C0321D28-5B26-4CE5-855C-7863852283C6" 
            Advertise="no" Language="0" MajorVersion="1">
            <Class Id="4F9976DC-47C3-4518-B2A2-A258B379F970" 
              Description="IrmProtector Class" ThreadingModel="both" 
              Context="InprocServer InprocServer32">
              <ProgId Id="IrmProtector.Protector.1">
                <ProgId Id="IrmProtector.Protector" />
              </ProgId>
            </Class>
          </TypeLib>
        </File>

<Registry Id="IrmProtector.1" Root="HKLM" Key="SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\IrmProtectors" Name="{4F9976DC-47C3-4518-B2A2-A258B379F970}" Value="Contoso.Irm.Protector" Type="string" />

<Registry Id="IrmProtector.2" Root="HKLM" Key="SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\IrmProtector" Action="createKeyAndRemoveKeyOnUninstall" />

<Registry Id="IrmProtector.3" Root="HKLM" Key="SOFTWARE\Microsoft\Shared Tools\Web Server 
Extensions\IrmProtector" Name="Extensions" Value="XYZ,PDQ,FOO"  Type="string" />

<Registry Id="MsoProtector.4" Root="HKLM" Key="SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\IrmProtector" Name="Product" Value="MsoProtector" Type="string" />

<Registry Id="IrmProtector.5" Root="HKLM" Key="SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\IrmProtector" Name="Version" Value="1" Type="string" />

      </Component>
    </DirectoryRef>
  </Fragment>
</Wix>

See Also

Concepts

Information Rights Management in Windows SharePoint Services Overview

IRM Framework Architecture in Windows SharePoint Services

IRM File Processing

Custom IRM Protectors