Update ProductName of existing Product

418 Views Asked by At

I created an exe installer using Inno Setup and I packaged it in an MSI using MSIWrapper.

In order to do that I inserted the following lines in the iss (InnoSetup) file:

[...]
#define MyAppName "New_product_name"
AppName={#MyAppName}
AppId={#MyAppName}
[...]

And the following lines in the MSIWrapper XML configuration file:

[...]
<ProductName Detect="" Value="Value" />
[...]

I'd like to change the product name shown in the Uninstall section of the Control Panel.

If I change the iss MyAppName as follow:

[...]
#define MyAppName "New_product_name"
AppName={#MyAppName}
AppId={#MyAppName}
[...]

or the configuration XML as follow:

[...]
<ProductName Detect="" Value="New_product_name" />
[...]

or both and I perform an update two different programs, named Old_product_name and New_product_name, are shown in the Control Panel.

How can I proceed in order to reach my aim?

Thanks so much,

Daniele

2

There are 2 best solutions below

1
Stein Åsmul On BEST ANSWER

MSI Tool Preferred: MSI is complex. You should either use a proper MSI tool or rely on a legacy installer technology completely - in my opinion. These wrappers seem unreliable. Can we ask what this software is and how it will be used? (affects what makes sense to do).

The below is not an answer for MSIWrapper, but a crash course in MSI in order to understand what you are seeing, and potentially selecting a better tool to create MSI if need be (you might do OK with what you have).


ARP Entries: For MSI packages two entries in the Add / Remove applet usually means that two versions of the same MSI has been installed twice - without functioning as an upgrade (which would remove the older version).

MSI Major Upgrade: An MSI major upgrade is an uninstall of an existing MSI version and then the install of the new MSI version with various scheduling options controlling what order this happens in. The mechanisms to control this are mostly found in the Upgrade table inside MSI files. If you want MSI upgrades to work, this table must be authored. When done right, the older version disappears as part of the installation of the new MSI package. I am not familiar with how this is done using MSIWrapper, but below are some samples to show how the upgrade table works.

Some tidbits:


How to create a major upgrade with various tools:

WiX:

Installshield:

Advanced Installer:


Links:

2
Martin Prikryl On

The AppId directive value is the key to the entry in the program list.

If you want to change the name of the application, change the AppName, but keep the old AppId.

This is opposite of Automatically create new entry in "Programs and Features" for each new version.