When an advertised shortcut is launched, Windows Installer validates that all the components which are included in the same feature as the shortcut feature are installed by checking if their keypaths are actually installed on the device. If any is missing, it will fix it by running the installation package and installing again all resources from the .msi file.
Only shortcuts which points to a resource which is a KeyPath in Component table can be advertised. If a resource is a KeyPath in Component table and there is an advertised shortcut pointing to that component, then that resource cannot be moved to another component. Also, no other resource can be set as KeyPath for that specific component.
If the "Advertised shortcut" checkbox from the Shortcut Properties Dialog is left unchecked, the shortcut will not be created if that feature will be installed as advertised. This means that the only way to add this feature is to manually re-run the installation package in "Modify" mode.
An advertised shortcut supports:
- advertisement - the application is not fully installed; when the user clicks on the advertised shortcut, Windows Installer installs the application for the user first, and only then runs the application;
- resiliency - if any of the keypaths is missing or got corrupted then Windows Installer triggers a repair of the application when the user clicks on the advertised shortcut.
In order to take full advantages of both advertisement and self-healing, you must take into consideration the following:
- all features state must be set to Advertise (it is preferably to have only one feature)
- all shortcuts must be advertised
- all components must have a keypath
- Microsoft general rules when organizing resources into components