2

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

Daniele Milani
  • 553
  • 2
  • 7
  • 26

2 Answers2

1

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:

Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164
  • Thanks for the hint! Right now I was performing some test in order to properly understand how to build an MSI from an exe, and I was testing the various scenarios: the issue, in this particular situation, was the wrong version number (I forgot to update it). – Daniele Milani Oct 14 '20 at 10:02
0

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.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992
  • Thanks so much. If I follow this approach and I install and update the software using the EXE everything works fine. Otherwise, If I perform the same operations using the MSI obtained using the MSIWrapper two different entries are shown under "Programs & Features": how can I, if possible, solve this issue? – Daniele Milani Oct 12 '20 at 13:40
  • Sorry, I do not know anything about MSIWrapper. – Martin Prikryl Oct 12 '20 at 15:15