-1

I've created a copy of InstallShield project, so all the settings should be the same. (I've done this before with success). I am using this copy to make changes to the installer project as it will be called in an automated build way. One big change I made this version of the installer project was to reference a shared network location for pre-req(s). One pre-req is another installer project that gets built before this, and pulled in the main installer.

I am testing this build locally and not through the automated build process.

I know the upgrade codes match. I have 2 upgrade codes checks for Major Updates. I also check "Any Version" setting as well.

However when I build and test out the new installer it does not remove previous entries.

I have checked here [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall] and see the app listed in there twice. I had really hoped to find the UpgradeCode in order to shed some light if that was getting messed up for some reason or another, no dice.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\installer] <- no dice

As some suggested I have browsed to the exe and tried to add the Major Upgrade item, I still get the same upgrade code.

So my questions is does anyone have anything else to check that might be holding up getting this entry out of the add-remove dialog.

Log File

MSI (c) (D0:E0) [16:26:28:649]: Doing action: FindRelatedProducts
Action 16:26:28: FindRelatedProducts. Searching for related applications
Action start 16:26:28: FindRelatedProducts.
Action ended 16:26:28: FindRelatedProducts. Return value 1.

MSI (s) (2C:68) [14:12:34:706]: Doing action: RemoveExistingProducts
Action 14:12:34: RemoveExistingProducts. Removing applications
Action start 14:12:34: RemoveExistingProducts.
Action ended 14:12:34: RemoveExistingProducts. Return value 1.


Action start 13:48:41: ISSetAllUsers.
MSI (c) (6C:9C) [13:48:41:826]: Invoking remote custom action. DLL: C:\Users\ngates\AppData\Local\Temp\MSID938.tmp, Entrypoint: SetAllUsers
InstallShield 13:48:41: Begin SetAllUsers()
InstallShield 13:48:41: Getting records from Upgrade table
InstallShield 13:48:41: UpgradeCode: {84A5CBA6-9BC8-4E99-B8AE-9327E9B78A34} MinVersion:     MaxVersion: 6.38.0.448  Language:   Attributes: 257
InstallShield 13:48:41: Checking related product {AD762BD7-3EA5-4DD2-8552-1474ABED7C6F}
InstallShield 13:48:41:     Venus 7000  {AD762BD7-3EA5-4DD2-8552-1474ABED7C6F}  1033    6.38.0.372   ***Related***
MSI (c) (6C!E4) [13:48:41:854]: PROPERTY CHANGE: Adding IS_MAJOR_UPGRADE property. Its value is 'Yes'.
InstallShield 13:48:41: ALLUSERS of related product {AD762BD7-3EA5-4DD2-8552-1474ABED7C6F} is = 1
InstallShield 13:48:41: End SetAllUsers()
Action ended 13:48:41: ISSetAllUsers. Return value 1.

According to documentation(RemoveExistingProducts Action) it appears a return code of 1 means something got removed, so it acts like it's working...

nagates
  • 620
  • 13
  • 40
  • What does the verbose log say, especially around `FindRelatedProducts`? – Michael Urman Mar 22 '14 at 12:46
  • Increment the ProductVersion in first three digits, different ProductCode, same UpgradeCode are the main things, yes. A per user install will not upgrade a per system (and vice versa) which is why Michael is asking you to look at FindRelatedProducts because that will say something about it. – PhilDW Mar 22 '14 at 18:11
  • Do I have to upgrade one of the first 3 digits? I haven't had to in the past. MSI (c) (D0:E0) [16:26:28:649]: Doing action: FindRelatedProducts Action 16:26:28: FindRelatedProducts. Searching for related applications Action start 16:26:28: FindRelatedProducts. Action ended 16:26:28: FindRelatedProducts. Return value 1. – nagates Mar 24 '14 at 13:52
  • so after a little bit more digging, I think part of the issue is that Install Shield has a version format of aaa.bbb.ccc.ddd, and ignores the ddd part. Would this make sense? – nagates Mar 24 '14 at 15:27
  • That's a Windows Installer limitation not InstallShield. But yes, that is one of the things that could affect your results. This has been answered over and over. – Christopher Painter Mar 24 '14 at 15:32
  • Well, I checked some of our older installers, and I've seen this work, for example 6.35.0.1 going to 6.35.0.5, and so forth. So I know this can work. I think just having the upgrade code would be enough. – nagates Mar 24 '14 at 18:03
  • @ChristopherPainter do you know of links to other answers I could look at? – nagates Mar 24 '14 at 18:04
  • You need to search the concept Major Upgrades. Here's a recent answer in a WiX context. http://stackoverflow.com/questions/22504615/remove-program-from-programs-and-features-when-installing-newer-version-msi-usin/22505979#22505979 – Christopher Painter Mar 24 '14 at 18:09
  • 1
    No, it doesn't work, so don't do it. A major upgrade requires a change in the first three digits, see remarks here http://msdn.microsoft.com/en-us/library/aa370859(v=vs.85).aspx and it looks like you will need to post the entire log somewhere, not just the FindRelatedProducts part. – PhilDW Mar 24 '14 at 18:15
  • @PhilDW Well, I know this has worked before unless something changed with 2013, i know for a fact that just changing ddddd part of the version number has worked before. – nagates Mar 24 '14 at 18:56
  • @MichaelUrman I've added some more log info to the original post. – nagates Mar 24 '14 at 19:17
  • 3) New MSI must have a higher version ProductVersion property. Please note that only the first 3 numbers are evaluated. ( 1.2.3 -> 1.2.4 works 1.2.3.4 -> 1.2.3.5 does not ) @ChristopherPainter Has this always been the case with IS? still I thought this worked at some point. – nagates Mar 24 '14 at 19:39
  • 1
    It's not an InstallShield limitation, it's a Windows Installer limitation. It's always been there: http://msdn.microsoft.com/en-us/library/aa370859(v=vs.85).aspx – Christopher Painter Mar 24 '14 at 20:04

1 Answers1

-2

I figured out how to do it!

On the major upgrade item, select the 2nd radio button. And set a appropriate range, for me I did 6.0.0.0 to 6.99.9.9, and that seemed to do it for me. As 7.0.0.0 will constitute a truly major release for us.

nagates
  • 620
  • 13
  • 40