Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Major Upgrade Not Working


20 replies to this topic

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 20 April 2012 - 16:40

Hi all,

I'm working on our new product install which will the version 10.0 family. We are coming from 8.6 and earlier. When I run the upgrade from 8.6.x to 10.0.1 all works as planned. Old version detected and removed and the latest is put in place.

I thought I would look ahead and ensure a Major Upgrade in our new version family worked as expected. When I try moving from 10.0.1 to 10.0.257, the old is not removed and I see two instances in Add Remove Programs.

I can't for the life of me figure out what is wrong. I bumped the ProductVersion, obviously. Changed the ProductCode and PackageCode and changed the MaxVersion field value in the Upgrade Table.

All I see in the Log is Not Related and I don't see the ISFOUNDCURRENT property set in the second log. I've attached the 8x to 10 log and log from the 10.0.257 upgrade. To see images of the Upgrade view settings, you can see my Flexera Software post here

I even tried changing the Upgrade Code and creating a separate Upgrade table entry for the v10 family, but that didn't work either. On this new entry I tried including the MinVer, but to no avail.

I just can figure this out. It almost seems there is a problem using 10 versions at this point, but that's absurd.

Any help in this would be greatly appreciated!

Thanks MUCH in advance!!

Attached Files

  • Attached File  Logs.zip   101.83KB   109 downloads

Edited by Superfreak3, 20 April 2012 - 16:41.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 20 April 2012 - 17:53

It doesn't find the other version. the log output from the ISSetAllUsers custom action has some hints:

working:
QUOTE

InstallShield 9:34:53: UpgradeCode: {5FE03C0D-59DB-4A48-BF15-9DE0DE72DCFD} MinVersion: 8.3.0 MaxVersion: 10.0.1 Language: 1033 Attributes: 0
InstallShield 9:34:53: Checking related product {8E482393-8EBB-4C31-AD13-9EAF9873EC56}
InstallShield 9:34:53:  MyCompany OurProduct 2011 Server {8E482393-8EBB-4C31-AD13-9EAF9873EC56} 1033 8.6.257  ***Related***
MSI © (28!04) [09:34:53:719]: PROPERTY CHANGE: Adding IS_MAJOR_UPGRADE property. Its value is 'Yes'.
InstallShield 9:34:53: ALLUSERS of related product {8E482393-8EBB-4C31-AD13-9EAF9873EC56} is = 1


not working:
QUOTE
InstallShield 9:48:56: UpgradeCode: {5FE03C0D-59DB-4A48-BF15-9DE0DE72DCFD} MinVersion: 8.3.0 MaxVersion: 10.0.257 Language: 1033 Attributes: 0
InstallShield 9:48:56: Checking related product {85E692A4-1689-4946-9D85-3DCC4122C8E4}
InstallShield 9:48:56:  MyCompany OurProduct 2011 Server {85E692A4-1689-4946-9D85-3DCC4122C8E4} 0 10.0.1  ***Not Related***
InstallShield 9:48:56: No related products for UpgradeCode {5FE03C0D-59DB-4A48-BF15-9DE0DE72DCFD} found


It looks like the old version with ProductCode {85E692A4-1689-4946-9D85-3DCC4122C8E4} has the language set to 0 while the upgrade entry is looking for a version with langauge 1033.

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 20 April 2012 - 18:31

This is our first crack at a multi-language install and the .msi is wrapped in a Setup.exe with language selection dialog. I wonder if that is messing this up.

I also wonder if this could possibly be related to my other post here today regarding the Upgrade Table's Language field as it pertains to multiple languages.

I think I'll try building the initial v10 install with that field blank to see what happens.

In short, I don't know what is causing the 0 for language indicator we are seeing in the logs.

Another thing I could try is to not compress the .msi into a setup.exe to rule that out. I wonder if the language selection via setup.exe is passing the selection value to the .msi badly.

Edited by Superfreak3, 20 April 2012 - 18:38.


Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 20 April 2012 - 19:19

It is definitely related. I created an installer that did not work for Major Upgrade. Reran from Setup.exe and let the .msi extract. Edited the Upgrade table to remove the Language attribute of 1033 and left it blank. Now the upgrade finds the previous version of 10.0 and removes and installs the latest.

I bet Setup.exe is passing it badly or something.

At any rate, it doesn't appear that I can blank that field attribute in the Upgrades view of IS 2012. If I blank, switch views and return, 1033 is there. I guess this is coming from the Default Language setting in General Information.

I'll try taking the Setup.exe out of the equation to see what happens. The ProductLanguage property is being set to 0 for some reason. ??

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 20 April 2012 - 20:25

I tried setting the Upgrade language attribute to 1033,1036. That yielded the same unsuccessful results. Something is amiss with this multi-language installer. I'm missing a setting somewhere.

I wonder if there is Wildcard I can use in the IDE for this setting that would be similar to the prevent downgrade upgrade setting of ***ALL_VERSIONS*** such as ***ALL_LANGUAGES***.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 21 April 2012 - 08:48

setup.exe doesn't modify the .msi file. To switch languages it applies a transform.

In IS 2011 I can blank the language field (I don't have IS 2012 at hand right now so I can't check there). Did you try blanking the field in Direct Editor in the Upgrade table?

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 21 April 2012 - 15:03

Thanks for that! Blanking the field in the Director Editor seems to hold.

I have another Upgrade record in the table that covers versions 6.0.0 to 8.2.9999 with a language of English (1033). I wonder if I should clear that as well. I guess I could test that, but in my current scenario, 8.6 was upgrading to 10 with 1033 listed in the table so I would think those would work.

I was only running into trouble going from v10.0.1 to v10.0.257. Still don't understand why its not working as other earlier upgrades, but its a workaround nonetheless.

Edited by Superfreak3, 21 April 2012 - 16:29.


Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 23 April 2012 - 18:30

I've attached a log that shows the Upgrade from 10.0.1 to 10.0.257, only this time, .257 was built with the Language field blanked in the Upgrade Table (via Direct Editor).

I don't know that we will need to restrict which languages are upgradeable per release so this may prove to be a good workaround.

I would have thought that 1033,1036 in the Upgrade Table would have worked, but that was problematic as well.

Attached Files



AlexLX

AlexLX
  • Full Members
  • 27 posts

Posted 24 April 2012 - 07:07

Hi,

What is the value set in "Exclude Specified Languages" which is present in Media->Upgrades->Major Upgrade Element->Advanced Tab.

I think setting the Language as Blank and Exclude Specified Languages to No might solve the issue.

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 24 April 2012 - 18:52

Exclude Specific Language has been set to 'No' and yes, I can get it to work by blanking the Language field of the record in the Upgrade table. This has to be done via Director Editor as you can't 'blank' it in the Upgrades -> Advanced tab.

I just wish I could understand why I don't need to blank the field going from 8.x to 10 but do from 10.0.1 to 10.0.257. The only difference being the 10 family is the start of multiple language offerings.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 April 2012 - 12:01

Looking at the Summary Information stream in your .msi files, what are the language settings? In the Template summary, you should see something like Intel;1033 or Intel;0

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 27 April 2012 - 20:58

For the initial install of v10, I checked the 1033.mst extracted at runtime in the InstallShield IDE/MST Wizard and the Template Summary property has or sets a value of x64;0,1033,1036.

What does the 0 designate? It doesn't appear anywhere in my .ism that I am aware of.

My current settings are...

General Information -> Summary Information Stream = Intel;1033.

Now, I have a 64 bit configuration that is built and that Release has an override of x64;1033.

I did try adding ,1036 to both of these as well as to the Language field in the Upgrade record, but that didn't work either.

I guess I should have checked the .mst in that scenario as well to see if a 0 was placed in there.

Edited by Superfreak3, 27 April 2012 - 21:03.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 30 April 2012 - 06:17

For a .msi, 0 means language neutral.
For a .mst the list indicates the languages compatible with the transform, according to the documentation.

Did you also check the languages in the .msi files?

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 01 May 2012 - 14:37

Currently I'm dealing with 1033 (English) and that is the language currently listed in the Upgrade table. It does appear that the 0 is contained in the Template Summary Property of the .msi as well.

I have tried a scenario of adding 1036 (even though this is not the selected language for testing) to the Upgrade table and Template summary property, but this didn't work either.

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 01 May 2012 - 15:15

What I've done to this point is to modify the Template Summary Property in the extracted .msi and the .mst to remove the 0 for both 10.0.1 and .257. I then install .1 from the Command Line applying the Transform. The same was then done for .257 and the Major Upgrade WORKED!!!.

Now, my question is, why is the 0 being put in the Template Summary Property at build time? If this is to designate language neutrality, what if I don't want my installer to be language neutral and I want to target specific languages? Is this still done through the Upgrade Table's Language field. I guess in this instance, this field should be populated with nothing or 0,1033,1036.

As you pointed out in my earlier log post, the language of the detected product is now 1033 and not 0 so it is marked as Related.

Attached Files



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 02 May 2012 - 10:59

To clarify: in my previous post I was talking about the summary information, not the Upgrade table.

The 0 is added to the summary information if you create a multi-language release.

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 02 May 2012 - 18:50

And the Template Summary property is part of the Summary Information Stream?

Adding that 0 in the Template Summary property breaks the upgrade path for some reason. I don't know if I'm missing some setting in the .ism or this is an InstallShield bug.

I know this is talking about another area, but adding the two language designations to the upgrade table (1033,1036) doesn't work. So something is amiss. I didn't test adding 0 to the Language field of the Upgrade Table, but something tells me that will work.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 May 2012 - 08:03

QUOTE
And the Template Summary property is part of the Summary Information Stream?
Yes, it is.

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 03 May 2012 - 14:34

Well, it seems that what InstallShield is doing with that Property value is causing Major Upgrades to fail or I am missing some setting in the IDE.

At this point, InstallShield has my install packages, .mst's etc in their possession and they are investigating. I'm just wondering what should be done on my part, such as possibly using 0,1033,1036 in the Language field of the Upgrade Table.

I then wonder if using the 0 prevents me from specifically targeting a certain language(s). We currently do not see the need to target specific languages, but I don't want to limit myself if there is a current shortcoming in the software.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 May 2012 - 16:25

To be honest - I don't now. You'll have to test to be sure.

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 08 May 2012 - 15:16

Adding 0 to the Language field of the Upgrade Table works, but I'm not sure that is the best workaround. This has been escalated at InstallShield Support.