Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 3

ARP Configuration

I am using msi for my project and I want to know how to force the ADD/REMOVE Programs to call the setup.exe I created. I am quite confuse how ARP calls the exe file.

When I uninstall the product using directly the setup.exe, it successfully uninstall the product, remove all shortcuts and folders and I saw the changes I made in the dialog. However, when I uninstall using ADD/REMOVE, I noticed that the changes I made doesn't reflect.

Can anybody tell me how ARP executes the exe file?
Labels (1)
0 Kudos
(1) Reply
Level 4


ARP is controlled by the registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Your ProductCode}

What ever is in the UninstallString entry within this key will be what gets run when you click Remove in ARP (usually this will be 'msiexec /x{Your ProductCode}'

There are some options you can play around with in InstallShields 'General Information > Add or Remove Programs' section but these are limited to that of what is allowed to be changed by Windows Installer.

If adjusting these don't give your the behaviour you want then a way around it is to create a new uninstall registry key with the minimum entries of 'DisplayName' & 'UninstallString' and supress the original Windows Installer entry from appearing in ARP


String Entries:
DisplayName = "[ProductName]"
UinstallString = "[INSTALLDIR]setupfolder\setup.exe"

To supress the Windows Installer default ARP entry, add a property ARPSYSTEMCOMPONENT=1 to the MSI.

The only issue with the above method is that you would need to have setup.exe in a permanently accessible location to the user.
An uninstall string of UnistallString = "msiexec /i {Your ProductCode}" might be a safer bet.
0 Kudos