1

I am using InstallShield X - professional Edition, version 10.0

I have created .exe file through installshield Basic MSI project and installsed it. During installation it extract the .msi file at location: C:\Windows\Downloaded Installations{FF12DD....}*.msi

After that I have created another product with updated version and install it over the older product. The latest ptoduct got installed successfully. After updating when I am trying to uninstall it, The updated product is using the older build .msi file. What I want here is it should use the latest build .msi file. Because I have made some changes in installScript of latest product which should get execute during un-installation.

In the updated product I am just updating product version number and not Product code. I don't want to modify the product code.

Thanks,

Sameer K

user3377652
  • 31
  • 1
  • 1
  • 5

1 Answers1

0

You need to read up on major upgrades and perhaps on some of the basics of Windows Installer. Essentially I think you should try to implement a major upgrade, it does involve changing the product code.

Don't be afraid to change the product code. It is the upgrade code that identify related versions of a product. The product code changes between versions. Essentially you author the upgrade table to detect other versions of your product, you update the version number of the MSI(first three digits count), and the package code should always change for every rebuild of the MSI. Finally you must keep the upgrade code the same across releases to make major updates easy to implement.

Installshield shields a lot of the complexity of this if you author the information found in the Upgrades view. Read the information provided here and you should be able to proceed.

This is Installshield's Upgrades view. Read the information provided and you should be able to proceed.

Some further information on these important codes in an MSI. You must understand this even if you use Installshield's simplified GUI:

In every single rebuild of the MSI you MUST change the package code. This code should never have been exposed in the whole MSI design - it is used to uniquely identify a file. If you keep this guid the same across multiple files each file will be treated as the same file by definition - even if they are different files. This may cause the most mysterious problems you ever come across with MSI. Using the same package code several times is wrong in every case - unless you want to do hacking :-).

  • Package code: identifies unique MSI file
  • Product code: identifies product version
  • Upgrade code: identifies product family
Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164
  • I have change the Product code and Package code. But when I am trying to install the latest product it is installing it as a seperate new product and not updating the older product. Also after installation in the control panel-> Add\Remove program it is showing 2 seperate entries for each product. – user3377652 Mar 04 '14 at 11:57
  • Also changing the product code is not recommended by installshield. – user3377652 Mar 04 '14 at 12:01
  • You need to make the major upgrade work correctly so it uninstalls the existing installation and then installs the new one. Please read thoroughly the help that is visible in the Upgrades view of Installshield. Everything you need is there. The product code does not change in minor upgrades (which are complex and error prone), but it changes in a major upgrade (which is the most frequently used type of upgrade). – Stein Åsmul Mar 04 '14 at 19:30