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

2 Product GUIDs => 1 maintenance update


6 replies to this topic

hurricane766

hurricane766
  • Full Members
  • 3 posts

Posted 16 May 2011 - 18:00

Hi,

I've got software installed on many different machines. Some of these were installed with Installshield 6 and others with Installshield 2010. It seems that when I made the transition to 2010 the product GUID changed and I didn't realize it.

I'd like to create an Installscript install that "updates" both GUID versions of the program by running in maintenance mode. Of course this is working when it's run on a machine when the GUID matches but on the ones where it doesn't match the first time install runs.

Is it possible do create one install to update both of these? Is it possible to maybe change the GUID on some of the machine so they all match?

Any other ideas? I can't seem to find many options for a solution.

Thanks

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 16 May 2011 - 19:48

I would just run a major upgrade. It will uninstall prior installations and install the new one provided the Upgrade code is the same for both setups (even if it isn't you can still uninstall the setups, it is just a bit more complex to achieve).

Please check Google or preferably the Windows Installer SDK for information on constructing a major upgrade. It essentially revolves around authoring the upgrade table and adding the required secure properties to detect an existing install that you want to uninstall.
Regards
-Stein Åsmul

hurricane766

hurricane766
  • Full Members
  • 3 posts

Posted 16 May 2011 - 20:54

Thanks for your response,

That does look like it would work... so you're suggesting that I move from an Installscript project to a Basic MSI project?

Do you happen to know the easiest/quickest way to do that?

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 17 May 2011 - 13:14

Maybe Glytzhkof didn't realize you weren't already using Windows Installer hurricane766, but I personally wouldn't try bringing in MSI into the picture and further complicate things.

Instead, I would create a custom InstallScipt-based install that simply "updates" both installations through copy file deployment & manual reregistration where necessary and just rely on the existing installations for the uninstall support.

Also, it's a good thing that the GUID automatically changed because otherwise you would have had created installation confusion from mixing the two versions of InstallShield. In the future though, I wouldn't recommend switching IS versions unless that setup no longer needs to maintain/support the previous release(s).

Hope it helps.

Edited by Taco Bell, 17 May 2011 - 13:25.

user posted image

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 17 May 2011 - 13:36

Taco Bell is right, I didn't see what forum I was in, sorry. It does sound like the best option is to clean things up with Installscript.
Regards
-Stein Åsmul

hurricane766

hurricane766
  • Full Members
  • 3 posts

Posted 18 May 2011 - 22:42

After looking into the Basic MSI, I think you're right that it will just be easier to copy the files over using XCopyFile.

I have a few followup questions (I've never tried copying the files manually):
1. If the "update" copies over new files, as well as overwriting old ones, how can I ensure that the uninstall will also delete those new files?

2. You mentioned 'manual reregistration'. What do you mean by this? Do you mean re-registering .dll and .ocx files with nResult = LaunchAppAndWait("regsvr32", "/s "+szFilename, WAIT); ?

Thanks again
smile.gif

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 19 May 2011 - 14:27

1. Unfortunately any new files will not be automatically removed by the existing uninstall unless you had the foresight to already include say some custom directory cleanup.

One way of overcoming this limitation though would be have your update also include uninstall support in order to address the new files and have it programmatically kick off the previous uninstall to cover the existing files.

2. Yes, that is indeed what I mean.
user posted image