Detecting the Installed Version of RMS
The following describes about how to detect the presence of the RMS client and server. Detection may be necessary in certain deployment scenarios where the appropriate action to take depends on whether or not an RMS product is installed.
Two detection methods are documented: one using registry keys and another using the MsiEnumRelatedProducts API. You may use either method to detect RMS products. We provide two detection methods because deployment tools differ in detection capability. Use the detection method appropriate for your deployment tool.
Finally, note that the registry keys and upgrade codes used for product detection depend on the version of the RMS product you are trying to detect. If you are interested in detecting all versions of an RMS product, then you would need to use methods from both sections below; in other words, you would need to use a method from section 1 for products released prior to SP1 and a method from section 2 for SP1 and newer products.
1: How to Detect Versions of the RMS Client and Server Released Prior to SP1
RMS Client
via regkey
- Path: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{EC905264-BCFE-423B-9C42-C3A106266790}
- Key: Version
- Type: DWORD
- Comparison: Value in key is less than 0x05010000.
via MsiEnumRelatedProducts
- Upgrade Code: {A53746F2-DE8B-4BCF-8CDB-4F18C7313FC1}
- Property: INSTALLPROPERTY_VERSIONSTRING
- Comparison: Version is less than 5.2.7.
RMS Server
via regkey
- Path: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{E3FF64B7-99F3-4FC9-9A76-389FF31350C3}
- Key: Version
- Type: DWORD
- Comparison: Value in key is less than 0x05010000.
via MsiEnumRelatedProducts
- Upgrade Code: {5C943502-8F11-469C-BE89-1FFED1D38B77}
- Property: INSTALLPROPERTY_VERSIONSTRING
- Comparison: Version is less than 5.2.7.
2: How to Detect SP1 and Newer Versions of the RMS Client and Server
RMS Client
via regkey
- Path: HKLM\SOFTWARE\Microsoft\udrm
- Key: Version
- Type: string
- Comparison: Value in key is greater than or equal to 5.2.3790.134.
via MsiEnumRelatedProducts
- Upgrade Code: {A3B78BBF-B6DB-4578-B7B0-B30B75A77C77}
- Property: INSTALLPROPERTY_VERSIONSTRING
- Comparison: Version greater than or equal to 5.2.7.
RMS Server
via regkey
- Path: HKLM\SOFTWARE\Microsoft\WindowsRightsManagementServicesServer
- Key: Version
- Type: string
- Comparison: Value in key is greater than or equal to 5.2.3790.134.
via MsiEnumRelatedProducts
- Upgrade Code: {5C943502-8F11-469C-BE89-1FFED1D38B77}
- Property: INSTALLPROPERTY_VERSIONSTRING
- Comparison: Version greater than or equal to 5.2.7.
Notes:
1. “HKLM” is an abbreviation for “HKEY_LOCAL_MACHINE”; use HKEY_LOCAL_MACHINE when forming registry paths.
2. If you need to detect the presence of an RMS product on a 64-bit OS, you will need to use the Wow6432Node branch of the registry if your deployment tools are 64-bit tools. For example, to detect the RMS SP1 client on a 64-bit OS, instead of you would use HKLM\SOFTWARE\Wow6432Node\Microsoft\udrm instead of HKLM\SOFTWARE\Microsoft\udrm.