How do I make my installer display "Uninstall/Change" button in Control Panel?

Answer

By default, Windows Installer allows the creation of the “Repair”, “Change” and “Uninstall” buttons in order to maintain your application. The downside of this method is that the “Repair” and “Uninstall” actions are done in a basic user interface. Sometimes you will want provide a full user interface for all the maintenance operations. This can be achieved by using the "Uninstall/Change" button instead of the three.

NoteThe recommended approach is to enable the "Override Windows Installer programs list entry" > "Use a single "Uninstall/Change" button instead of separate buttons for each operation" option.

Disable the classic behaviour

In order to disable the classic behavior from the Product Details Tab enable the following options:

  • Disable Modify
  • Disable Repair
  • Disable Remove
  • Do not show in list

Create a custom behaviour

In the Registry Page - Installer Project create the following registry key under the Current User/ Local Machine hive:

Software\Microsoft\Windows\CurrentVersion\Uninstall\MyApplication

where MyApplication is the Product Name you assigned for the project in the “Product Details” Page.

In MyApplication registry key create the following registry values:

    Name                  Type                      Data

DisplayIcon              REG_SZ                 [SystemFolder]msiexec.exe
DisplayName              REG_SZ                 [ProductName]
HelpLink                 REG_SZ                 [ARPHELPLINK]
InstallLocation          REG_SZ                 [APPDIR]
Publisher                REG_SZ                 [Manufacturer]
UninstallPath            REG_SZ                 [SystemFolder]msiexec.exe /i [ProductCode]
UninstallString          REG_SZ                 [SystemFolder]msiexec.exe /i [ProductCode]
URLUpdateInfo            REG_SZ                 [ARPURLINFOABOUT]
Version                  REG_SZ                 [ProductVersion]
Language                 REG_DWORD              [ProductLanguage]

Build ProjectAdd your application's files to the project, build it and run it.

Conclusion

Once the package is installed, in Programs and Features the “Uninstall/Change” button will be associated with your application. The main advantage of this method is that all the maintenance operations will always use the User Interface created during the package authoring process.

TipThe same results can be obtained by selecting "Override Windows Installer programs list entry" and using the Table Editor to modify the "Registry" table using the information described above.