INFO: Advertisement for COM Applications with the Windows Installer (280104)



The information in this article applies to:

  • Microsoft Windows Installer 1.0
  • Microsoft Windows Installer 1.1
  • Microsoft Windows Installer 1.2

This article was previously published under Q280104

SUMMARY

The Windows Installer gives users the ability to install and advertise Component Object Model (COM) applications. Advertising a COM application allows a user to install it on demand when it is instantiated.

MORE INFORMATION

Microsoft Windows 2000 allows the system administrator greater control in deployment of software. You can advertise a Windows Installer package in the Windows 2000 Active Directory. Clients can instantiate COM calls through the active directory and have the package install on demand (install the first time the component is needed by another application). This scenario must have one of the two following requirements:
  1. Programmatically alter the client application:
    CoCreateInstance(..., ..., ... | CLSCTX_ENABLE_CODE_DOWNLOAD, ..., ...);
    					
    For more information on programmatically altering the client application, see the definition in WTypes.h in the Platform SDK.

  2. Set a policy in the Active Directory. In the Group Policy snap-in, set the policy in:
    Console Root\{GroupPolicyName} Policy\Computer Configuration\Administrative Templates\System\"Download missing COM components." For more information on setting this policy, see "Microsoft Installer Integration" in the platform SDK.
In order to take advantage of these features, you must author your Windows Installer packages and use the proper tables that allow for COM advertisement.

The following Windows Installer tables are used for COM advertisement:

  • The Class Table determines the entries for HKCR\CLSID\{-GUID-}.

  • The ProgId Table determines the entries for HKCR\{ProgId}.

    NOTE: The ProgId table cannot be used without the Class table.

  • The TypeLib Table is used for scripting languages such as VBScript or JavaScript.
Authoring COM information through the Registry table does not allow you to make use of these features because the Registry table is not advertised. If you advertise a package on Windows 2000 Active Directory by using the Registry table, a client program is not able to instantiate any COM Objects because it has no way of querying them through Windows Installer.

Modification Type:MajorLast Reviewed:10/2/2003
Keywords:kbAppSetup kbinfo KB280104