How to: Register an IRM Protector
Applies to: SharePoint Foundation 2010
After you compile your custom Information Rights Management (IRM) protector, you must register that protector with Microsoft SharePoint Foundation 2010 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 SharePoint Foundation
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 enables SharePoint Foundation 2010 to reference the protector’s functions.
Create the following registry key:
HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\<protector name>
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="https://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 SharePoint Foundation