Blog
What is advertising?
Installing the interfaces required for loading and launching the application are presented to the user or other applications is called as Advertising.
The two types of advertising are assigning and publishing. An application appears installed to a user when that application is assigned to the user. The Start menu contains the appropriate shortcuts, icons are displayed, files are associated with the application, and registry entries reflect the application’s installation. When the user tries to open an assigned application it is installed upon demand.
The installer registers COM class information for assigned applications beginning with the Windows 2000 and Windows XP systems. This enables the installer to install the application upon the creation of an instance of an advertised class.
Why to advertise?
As Advertising only installs required interfaces, it doesn’t install the application unless demanded therefore it helps in saving disk space.
When advertised application gets installed?
If a user or application activates an advertised interface the installer then proceeds to install the necessary components as described in Installation-On-Demand.
How to advertise a product?
Command-line arguments for advertising products
Msiexec /<option>
Option | Parameter | Meaning |
/J | [u|m]Package or [u|m]Package/tTransform List or [u|m]Package/gLanguageID | Advertises a product. This option ignores any property values entered on the command line. u – Advertises to the current user. m – Advertises to all users of machine. g – Language identifier. t – Applies transform to advertised package. |
Platform Support of Advertisement
The Windows Installer supports advertisement of applications and features according to specific operating systems. The following table identifies advertisement support for different platforms.
Platform | Advertising Support |
Windows 2000, Windows XP, and Windows Server 2003 | Shortcuts and their icons Extensions and their icons specified in the ProgId Table. Shell and command Verbs registered underneath the ProgId key. CLSID contexts and InProcHandler. Install-On-Demand through OLE is only available programmatically through CoCreateInstance (C/C++), and CreateObject or GetObject (Visual Basic). Note AppId and Typelib information is only written when an advertised component is installed. To support file extensions, the application must be published to Active Directory by an administrator using Group Policy. |
Windows 98 and Windows Me | Shell and MIME support. All of the above except CLSID, which is only written when installing an advertised component. |
Windows 95 and Windows NT 4.0 + IE4.01 sp1 + Windows Desktop Update (shell32.DLL >= 4.72.3110.0) | Shell and MIME support. All of the above except CLSID, which is only written when installing an advertised component. |
Windows 95 and Windows NT 4.0 (shell32.DLL < 4.72.3110.0) | Advertisement is not supported by this platform. |