Microsoft Knowledge Base Email Alertz

How to programmatically obtain the channel code values for System Management Server Service Pack 3

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 936607 - Last Review: October 31, 2007 - Revision: 1.4

How to programmatically obtain the channel code values for System Management Server Service Pack 3

Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986  (http://kbalertz.com/Feedback.aspx?kbNumber=256986/ ) Description of the Microsoft Windows registry

INTRODUCTION

This article contains information to help developers determine the sales origin of an installed software product. This article describes how to parse the DigitalProductId binary entry in the Windows registry to extract the sales channel information by using a predefined offset. For example, the sales channel information may indicate that the product was sold through the retail channel or through an OEM channel. This article applies to version 3 and version 4 of the DigitalProductId registry entry that is used in the Windows products that are listed in the "Applies to" section.

Note This information is provided only for license channel identification and for reporting. This article describes a method of extracting this information. However, this article does not contain steps or sample code.

MORE INFORMATION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

The DigitalProductId registry entry for a software product is located in the system registry hive under the
Registration
subkey for the product. The DigitalProductId registry entry for an operating system is located in the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
The DigitalProductId registry entry contains the encoded REG_BINARY value of the product key that was used to enable the software product. The entry contains the following information:
Name: DigitalProductId
Type: REG_BINARY
Data: aa,bb,cc,00,00...
To determine the channel information, calculate the following offsets.

Note Each byte represents two characters of the binary value.
  • Bytes 0 through 3 represent the total size of the data when cast to DWORD.
  • Bytes 4 and 5 represent the major version number of the Windows product when cast to WORD.
  • Bytes 6 and 7 represent the minor version number of the Windows product when cast to WORD.
If the major version number is 3, bytes 80, 81, 82, and 83 (cast to DWORD) contain the numeric value for channel. The following table lists the possible DWORD values.
Collapse this tableExpand this table
ValueMeaning
0Full packaged product
1Compliance checked product
2OEM
3Volume
If the major version number is 4, the 128 bytes that start at byte offset 1016 contain the Unicode string that corresponds to the channel. The following string values are possible:
  • Retail
  • OEM:SLP
  • OEM:COA
  • OEM:NONSLP
  • Volume:CSVLK
  • Volume:GVLK
  • Volume:MAK

APPLIES TO
  • Microsoft Systems Management Server 2003 Service Pack 3, when used with:
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Datacenter Server
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows XP Starter Edition
    • Microsoft Windows XP Media Center Edition
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Windows Vista Enterprise
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Business
    • Windows Vista Home Premium
    • Windows Vista Home Basic
Keywords: 
kbhowto kbexpertiseinter kbinfo KB936607
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate