Microsoft KB Archive/258558

{|
 * width="100%"|

BUG: Icon Does Not Display Correctly in Add/Remove Programs Dialog Box

 * }

Q258558

-

The information in this article applies to:


 * Microsoft Windows Installer, versions 1.0, 1.1

-

SYMPTOMS
After a per-user installation of a Windows Installer product, the icon displayed in Add/Remove Programs is the default icon (a folder for Explorer.exe). This occurs despite the fact that the ARPPRODUCTICON property is set to the preferred icon in the Icon Table of the Microsoft Windows Installer (.msi) file.

The correct icon is displayed in Add/Remove Programs with a per-machine installation.

CAUSE
This is an Add/Remove Programs bug that affects the Windows Installer. Add/Remove Programs calls the Installer if it is an .msi application to obtain the value of the ARPPRODUCTICON property. Add/Remove Programs then handles the rest. If the application uses a per-user installation, Add/Remove Programs does not properly expand the environment variables in the string it receives.

RESOLUTION
To work around this bug, use a per-machine installation. A per-machine installation can be accomplished by setting the ALLUSERS property to 1.

Change the ALLUSERS property by running your package from a command line with the following syntax:

msiexec /i mypackage.msi ALLUSERS = 1

If you want to add this property within your package:


 * 1) Open your .msi package in your editing tool. If your editing tool does not allow you to add this property, you may download Orca, a free .msi editor, in the Windows Installer SDK at:
 * 2) In Orca, click the Property table.
 * 3) In the Property table, add the ALLUSERS property.
 * 4) Set the value to 1.
 * 5) Reinstall your .msi package.

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

Steps to Reproduce Behavior
Use the steps that follow to reproduce the bug:


 * 1) Open an .msi file in Orca.
 * 2) Populate the Icon table by typing a name for the icon file, and then type in the path to the icon image.
 * 3) In the Property table, add the property ARPPRODUCTICON with the icon name from step 2 as its value.
 * 4) In the Property table, set the ALLUSERS property to NULL.
 * 5) Install your package.