Monday, November 17, 2008

Add or Remove Programs properties

A Windows Installer installation usually creates a product entry in the Add or Remove Programs list, similar to the following:

Product's main ARP entry

If you want to hide the Remove button, set ARPNOREMOVE to 1 in the Property table or from the command line. If you want to hide the Change button, set ARPNOMODIFY to 1. (If you want to annoy users, set both properties to 1.) You can suppress the whole entry by setting ARPSYSTEMCOMPONENT to 1.

Setting ARPSYSTEMCOMPONENT only hides the Add or Remove Programs entry; it doesn’t suppress creation of the information used to uninstall the product. Launching the MSI a second time still runs maintenance mode, and so forth. To suppress creation of the uninstall information, you can remove or “condition out” the actions RegisterProduct, RegisterUser, PublishProduct, and PublishFeatures.

The following figure shows the properties that control display text in the Support Info panel. (Of course, the Version field uses ProductVersion, and ProductName shows up a couple of times.) The hyperlinked manufacturer name is backed by the URL in the ARPURLINFOABOUT property.

Product's ARP support info

If you leave any of these properties undefined, the corresponding line won’t be displayed in the Support Info panel. For example, leaving ARPHELPTELEPHONE unset causes the Support Telephone entry to be omitted. Moreover, setting ARPNOREPAIR to 1 hides the “If this program is not working…” paragraph and the Repair button.

Note that these ARP- properties have no effect on the maintenance-type dialog box usually displayed when a user launches an installer a second time or clicks Change on the Add or Remove Programs panel.

To modify this dialog box, modify the Dialog-Control-RadioButton-whatever tables of your MSI database or use your environment’s graphical dialog editor.

No comments: