This article focus on the limitation associated with this behaviour in InstallShield Basic MSI project and provides a workaround for the same.
Further exploration unveiled that for some applications, the default action (bolded item) is "Uninstall/Change", where as a Basic MSI project created in InstallShield has 3 options as "Uninstall", "Change" and "Repair" and the default (in Bold) action is "Uninstall". My current case is to have "Uninstall/Change" option for our software instead of 3 Options.
For this InstallShield provided a solution with a disclaimer that this has not been tested at their end! But the solution worked like a charm for our application and hence would like to share it ..
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. There is no direct method available in InstallShield to achieve this. But tweaking some registry entries, you can make changes in display of ARP. You can make appropriate backup of registry and then try it.
For displaying Uninstall\Change on same button in ARP, disable all display options under General information->Add/Remove programs.
In the registry options, 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 them.
In MyApplication registry key, create the following registry entries..
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]
|
DisplayVersion
|
REG_SZ
|
[ProductVersion]
|
Language
|
REG_DWORD
|
[ProductLanguage]
|
URLUpdateInfo
|
REG_SZ
|
[ARPURLUPDATEINFO]
|
URLInfoAbout
|
REG_SZ
|
[ARPURLINFOABOUT]
|
Comments
|
REG_SZ
|
[ARPCOMMENTS]
|
Then add the ARPSYSTEMCOMPONENT to Property Manager and set the value as 1.
After successful installation, you can view the "Uninstall/Change" button on your application from Add / Remove Programs Panel.
[Note: This information has been verified with a Basic MSI project created in InstallShield 2012 Spring Edition.]