The ProgId table contains information for program IDs and version independent program IDs that must be generated as a part of the product advertisement.
The ProgId table has the following columns.
The program ID or version independent program ID. ProgIds listed in the ProgId table are registered if the CLSID listed in the Class_column of this table is scheduled to be advertised or installed. When the ProgId is selected for registration, all ProgIds that refer to this row through the ProgId_Parent column are also selected for registration.
Defined only for version independent program IDs. This field is a foreign key into the ProgId column. To define a version independent program ID, enter the corresponding ProgId into the ProgId_Parent column. When the ProgId is selected for installation, the corresponding version-independent ProgIds associated through the ProgId_Parent column are also selected for registration.
An optional foreign key into the Class table. This column must be Null for a version independent ProgId. If the Class_value for a ProgId is null, the ProgId is registered when it appears in the ProgId column of a row in the Extension table and the extension has at least one Verb associated with it in the Verb table. ProgIds selected for registration in this manner do not install other ProgIds that reference the current ProgId through the ProgId_Default value.
An optional localized description of the associated program ID.
An optional foreign key into the Icon table that specifies the icon file associated with this ProgId. This is written under the DefaultIcon key associated with this ProgId. This column must be Null for a version independent ProgId.
The Icon index into the icon file. This column must be Null for a version independent ProgId.