Skip to content

Configure Uninstaller

This page allows you to modify the properties of the uninstaller for your package.

Control Panel Description

The package automatically adds an entry for the uninstaller in the Add/Remove Programs option of the Windows Control Panel. This is the default place where end users generally decide to uninstall applications set up on their computer.

Enter the text that you wish to appear in the control panel option: generally a short description like My Application 1.7.

Elevated rights (as administrator) are required by the package if you want to add an entry to the Windows Add/Remove Programs list. See UAC elevation for further information.

Unique Registry Key

Settings for the control panel are actually stored in the registry and a unique registry subkey name is required. You need to enter this unique name in that field, something like your company name + application name + version number without spaces, or a GUID.

At runtime, with custom actions for instance, you can get the registry subkey name used to store uninstall reference with the variable: %PBUNINSTREGKEY%. For instance, this can let you check for the existence of the Unique Registry Key to prevent one from re-installing a full install of your software if it is already installed.

Uninstaller EXE Path

The uninstaller is a single executable file automatically created by the package. In this field you have to specify the full path to the uninstaller file that will be created. It should generally be in the main folder (%DESTPATH%) where other package files were extracted. For example: %DESTPATH%\Uninstall.exe. Please do not put it in a common system folder.

The program automatically removes itself when the uninstall is performed.

The uninstaller uses a log file to know which changes were made by the package. This log file is stored in the same folder as the uninstaller file and it has the same filename except the extension. All uninstaller-related additional files are automatically removed by the uninstaller too.

Info

The .log and the uninstaller files are automatically created once during the transition between the "After File Extraction" and "Finalization" events. So if you want to add custom actions for the uninstaller, insert them in the "After File Extraction" event or use the dedicated events for the uninstaller.

Control Panel Uninstaller Icon Reference

This should be the full path to the icon file (or EXE/DLL file with icon resource) that will represent your program in the "Add/Remove Programs" list.

  • If the icon file is a true ICO file, enter the full path to the .ICO file. Example: %DESTPATH%\My Icon.ico

  • If the icon is embedded in an EXE or DLL file, enter the full path to the EXE/DLL file followed by a comma and the icon resource index. Example: %DESTPATH%\Uninst.exe,0

Remove non-deleted files at Windows startup

If the uninstall program is unable to remove specific files (in-use program files, shared DLL files...), then it will register them to be deleted when Windows restarts.

Do not add an entry to the "Add/Remove Programs" list

If you do not want your package to be listed in that list, enable this option. However be sure to provide users with a mean to run the uninstaller.

If the log of a previous installation is found, append uninstall data

The uninstaller automatically saves a .log file; if this option is turned on and if a .log file created of a previous instance of the package is found, the package will not overwrite the existing log but it will append new changes to this existing .log file (actually they are merged). Consequently changes performed by a previous installation will be kept and they will be also removed in addition to new changes.

This is an important feature if your users run the package several times and select different components to be installed for instance.

If this option is not enabled, the uninstaller .log will be overwritten and previous changes will be lost!

Do not display the uninstall progress monitor

A progress monitor is shown while the package is performing uninstall. It indicates end users that the uninstaller is working and gives them an idea about the state of the uninstall process. If you prefer that the uninstaller works in the background (i.e. silently), just turn this option on.

Do not check for administrative privileges before uninstalling

Only administrators are allowed to uninstall a package - though it actually depends on what kind of changes the package made. If you wish to allow any users to run the uninstaller, then enable this option. Otherwise leave it unchecked.

On Windows Vista and above, package uninstallers automatically have their requested execution level set to "Require Administrator"; this will ensure that the system will identify the uninstall program as an administrative application and will perform the necessary elevation steps. However if you enable the previous option, the requested execution level will be set to "Highest Available".

Silent Uninstaller

You can create a silent uninstaller by setting the %SILENT% variable to 1 (with custom actions) in the "Uninstall Initialization" event. In that case, no prompt message is displayed (except unexpected error messages).

If you want to define a silent mode command-line switch for your uninstaller, use the custom action template Enable Silent Mode from Package Command Line and import the template into the "Uninstall Initialization" event.