The Class table contains COM server-related information that must be generated as a part of the product advertisement. Each row may generate a set of registry keys and values. The associated ProgId information is included in this table.
Specifies the path to a 32-bit in-process server and the threading model.
Component_
External key into the Component table specifying the component whose key file provides the COM server.
ProgId_Default
The default Program ID associated with this Class ID. This column is a foreign key into the ProgID table.
Description
Localized description associated with the Class ID and Program ID.
AppId_
Application ID containing DCOM information for the associated application (string GUID). This column is a foreign key into the AppId table.
FileTypeMask
Contains information for the HKCR (this CLSID) key.
If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys are generated: 0, 1, 2... For more information about this functionality, see GetClassFile.
Icon_
The file providing the icon associated with this CLSID. The installer writes the entry in this column under the DefaultIcon key associated with the ProgId. If it is not null, the column is a foreign key into the Icon table. If it is null, the COM server provides the icon resource. Advertised file associations and shortcuts require a non-null value in this column to display properly.
IconIndex
Icon index into the icon file. This can be null.
Non-negative numbers only.
DefInprocHandler
This field specifies the default in-process handler for the server context specified in the Context field.
This field must be Null if an InprocServer or InprocServer CLSID key appears in the Context field.
If a LocalServer or LocalServer32 CLSID key appears in the Context field, the value in the DefInprocHandler field identifies the default in-process handler.
Value
Description
non-numeric value
The installer treats a non-numeric value in the DefInprocHandler field as a system file serving as the 32-bit in-process handler specified by the InprocHandler32 key.
Null
The DefInprocHandler and Argument fields can both be Null for a LocalServer or LocalServer32 CLSID key.
1 = default (system)
The default is the 16-bit in-process handler specified by InprocHandler. In this case, the value of InprocHandler is the name in the registry under which the value of the default in-process handler is stored. For example, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID.
2 = default (system)
The default is the 32-bit in-process handler specified by InprocHandler32. In this case, the value of InprocHandler32 is the name in the registry under which the value of the default in-process handler is stored. For example, HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID.
3 = default (system)
The default is a 16-bit or 32-bit in-process handler.
Argument
If a LocalServer or LocalServer32 CLSID key appears in the Context field, the text in this field is registered as the argument against the server and is used by COM to invoke the server. The DefInprocHandler and Argument fields can both be Null if LocalServer or LocalServer32 appears in the Context field.
Note that the resolution of properties in the Argument field is limited. A property formatted as [Property] in this field can only be resolved if the property already has the intended value when the component owning the class is installed. For example, for the argument "[#MyDoc.doc]" to resolve to the correct value, the same process must be installing the file MyDoc.doc and the component that owns the class.
Feature_
External key into the Feature table specifying the feature that provides the COM server.
External key to column one of the Feature table.
Attributes
If msidbClassAttributesRelativePath is set in this column, the bare file name can be used for COM servers. The installer registers the file name only instead of the complete path. This enables the server in the current directory to take precedence and allows multiple copies of the same component.
Do you want to learn about table types in Business Central? In this module, you'll learn about the different functional table types and their specific characteristics, such as special fields, properties, and linked pages.