The TypeLib table contains the information that needs to be placed in the registry registration of type libraries.
The TypeLib table has the following columns.
The GUID that identifies the library.
The language of the type library. This must be a non-negative number.
External key into the first column of the Component table. This column identifies the component belonging to Feature_ whose key file is the type library being registered.
This is the version of the library. The major and minor versions are encoded in the four byte integer value. The minor version is in the lower eight bits. The major version is in the middle sixteen bits.
A localizable description of the library.
External key into the first column of the Directory table. This column identifies the Help path for the type library. This column is ignored during advertising.
External key into the first column of the Feature table. This column specifies the feature that must be installed for the type library to be operational.
The cost associated with the registration of the type library in bytes. This must be a non-negative number or null.
The installer writes all type library registration information into the HKEY_LOCAL_MACHINE (HKLM) registry location. This is the case even for per-user installations. Type libraries cannot be registered in per-user locations (HKCU).
Installation package authors are strongly advised against using the TypeLib table. Instead, they should register type libraries by using the Registry table. Reasons for avoiding self registration include:
- If an installation using the TypeLib table fails and must be rolled back, the rollback may not restore the computer to the same state that existed prior to the rollback. Type libraries registered prior to rollback may not be registered after rollback.