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 Update does not work:((((


5 replies to this topic

Majuer

Majuer
  • Members
  • 4 posts

Posted 15 February 2005 - 22:19

I am working on a major upgrade for an existing installation package. The previous version is 2.00.0000 and we are upgrading it to 2.05.0000
I have changed the product code, package code and retained the update code. I have also add a new upgrade entry. Upgrade style is Complete Uninstall and Then Reinstall. The upgrade table reads like this:
Upgrade code {15FCFF4D-98B5-4E7B-83C4-81C13DE4AD19}
VersionMin: empty
VersionMax: 2.05.0000
Language: empty
Attributes: 1
Remove: empty
Activity: ISACTIONPROP1
ISDisplayName: NewUpgradeEntry1

When I install version 2.0, then run the new version of setup.exe, it pops up the maintenance dialog and didn't do any update at all(not unintall the old version and install the new version).

Here's the installer log:
=== Verbose logging started: 2/15/2005 16:14:15 Build type: SHIP UNICODE 3.00.3790.2180 Calling process: C:\WINDOWS\system32\MSIEXEC.EXE ===
MSI © (6C:0C) [16:14:15:363]: Resetting cached policy values
MSI © (6C:0C) [16:14:15:363]: Machine policy value 'Debug' is 0
MSI © (6C:0C) [16:14:15:363]: ******* RunEngine:
******* Product: C:\source\Kits\QSKitTemp\Product Configuration 1\Release 1\DiskImages\DISK1\Valco Data Systems Scanning Application.msi
******* Action:
******* CommandLine: **********
MSI © (6C:0C) [16:14:15:363]: Machine policy value 'DisableUserInstalls' is 0
MSI © (6C:0C) [16:14:15:378]: Cloaking enabled.
MSI © (6C:0C) [16:14:15:378]: Attempting to enable all disabled priveleges before calling Install on Server
MSI © (6C:0C) [16:14:15:378]: End dialog not enabled
MSI © (6C:0C) [16:14:15:378]: Original package ==> C:\source\Kits\QSKitTemp\Product Configuration 1\Release 1\DiskImages\DISK1\Valco Data Systems Scanning Application.msi
MSI © (6C:0C) [16:14:15:378]: Package we're running from ==> C:\WINDOWS\Installer\9e3c27.msi
MSI © (6C:0C) [16:14:15:394]: APPCOMPAT: looking for appcompat database entry with ProductCode '{DFFE2F14-974C-40D2-82C2-AEC1400AFA82}'.
MSI © (6C:0C) [16:14:15:394]: APPCOMPAT: no matching ProductCode found in database.
MSI © (6C:0C) [16:14:15:394]: MSCOREE not loaded loading copy from system32
MSI © (6C:0C) [16:14:15:394]: Machine policy value 'DisablePatch' is 0
MSI © (6C:0C) [16:14:15:394]: Machine policy value 'AllowLockdownPatch' is 0
MSI © (6C:0C) [16:14:15:394]: Machine policy value 'DisableLUAPatching' is 0
MSI © (6C:0C) [16:14:15:394]: Machine policy value 'DisableFlyWeightPatching' is 0
MSI © (6C:0C) [16:14:15:394]: APPCOMPAT: looking for appcompat database entry with ProductCode '{DFFE2F14-974C-40D2-82C2-AEC1400AFA82}'.
MSI © (6C:0C) [16:14:15:394]: APPCOMPAT: no matching ProductCode found in database.
MSI © (6C:0C) [16:14:15:394]: Transforms are not secure.
MSI © (6C:0C) [16:14:15:394]: Command Line: SETUPEXEDIR=C:\source\Kits\QSKitTemp\Product Configuration 1\Release 1\DiskImages\DISK1 CURRENTDIRECTORY=C:\source\Kits\QSKitTemp\Product Configuration 1\Release 1\DiskImages\DISK1 CLIENTUILEVEL=0 CLIENTPROCESSID=3948
MSI © (6C:0C) [16:14:15:394]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{506A178D-9871-4C68-AC1A-FB08E0F7953C}'.
MSI © (6C:0C) [16:14:15:394]: Product Code passed to Engine.Initialize: '{DFFE2F14-974C-40D2-82C2-AEC1400AFA82}'
MSI © (6C:0C) [16:14:15:394]: Product Code from property table before transforms: '{DFFE2F14-974C-40D2-82C2-AEC1400AFA82}'
MSI © (6C:0C) [16:14:15:394]: Product Code from property table after transforms: '{DFFE2F14-974C-40D2-82C2-AEC1400AFA82}'
MSI © (6C:0C) [16:14:15:394]: Product registered: entering maintenance mode
MSI © (6C:0C) [16:14:15:394]: PROPERTY CHANGE: Adding ProductState property. Its value is '5'.
MSI © (6C:0C) [16:14:15:394]: PROPERTY CHANGE: Adding ProductToBeRegistered property. Its value is '1'.
MSI © (6C:0C) [16:14:15:394]: Entering CMsiConfigurationManager::SetLastUsedSource.
MSI © (6C:0C) [16:14:15:394]: Specifed source is already in a list.
MSI © (6C:0C) [16:14:15:394]: User policy value 'SearchOrder' is 'nmu'
MSI © (6C:0C) [16:14:15:394]: Machine policy value 'DisableBrowse' is 0
MSI © (6C:0C) [16:14:15:394]: Machine policy value 'AllowLockdownBrowse' is 0
MSI © (6C:0C) [16:14:15:394]: Adding new sources is allowed.

One thing I don't understand is that DFFE2F14-974C-40D2-82C2-AEC1400AFA82 is the older product code. I don't see the new product code in the log. Is that something normal or does it mean I set something wrong?

Since I am new to Installshield. Any imput would be highly appreciated!


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 16 February 2005 - 20:16

This means that the two package have the same product code. Double check your Release/Product Configuration settings. If a product code is specified there it will override the code in General Settings.
If that's not the problem, then one of your merge module might include a ProductCode property (which it shouldn't, but due to a bug in an older version it sometimes happend)

Majuer

Majuer
  • Members
  • 4 posts

Posted 16 February 2005 - 22:46

Thanks for the reply, Stephan.

I double checked Release/Product Configuration settings, no product code is specified there.
How do you check if one of the merge module includes a ProductCode property or not?

After cleaning up all the previous version installed in my system and every trace in my registry, I authored the major upgrade from scatch again and it seems to work partly(better than last time). The problem this time is that it seems to be a clean installation. Since the directory structure for the old version and new version are the same, it overwrites the old files. But the log reads:

PROPERTY CHANGE: Adding PackageCode property. Its value is '{383BE356-C82A-4DC2-9517-8E3A1901C3F8}'.
Product Code passed to Engine.Initialize: ''
MSI © (98:34) [16:18:19:132]: Product Code from property table before transforms: '{...}'
MSI © (98:34) [16:18:19:132]: Product Code from property table after transforms: '{...}'
Product not registered: beginning first-time install

And everything below it is as if it's a "first-time install". I would have been happy with it if I didn't have a custom action that has a condition as Installed And Upgrade:-(

How does Windows Installer decide whether it's a first-time install or an upgrade? Through Upgrade Code?(since that's the only ID that's not changed). Why there's no uninstallation even the Upgrade style is Complete Uninstall and Then Reinstall?

Thanks a lot for your help!

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 February 2005 - 11:38

A Major Upgrade by definition is a first time install. The ProductCode identifies the product, and since the ProductCode is different, it's a different product to Windows Installer.
You can use the property you specified in the Upgrade Table in your custom action condition.

Majuer

Majuer
  • Members
  • 4 posts

Posted 17 February 2005 - 15:52

Thanks for your quick response.
You said:
=======
The ProductCode identifies the product, and since the ProductCode is different, it's a different product to Windows Installer.
=======
If that's the case, is there any relationship between current version of product and the previous version to Windows Installer? Since it's an "upgrade", I assume current version is at least aware of the previous version if it's installed in the system. Through their common Upgrade Code?

Also, this is what I read from InstallShied help about Major Upgrade:

What does a Major Upgrade look like at Runtime?

When a previous setup exists on the target machine and you run a major upgrade the user will encounter almost the exact same setup experience as if they were to install your latest application on a clean target machine. The difference is that before installing its new resources, the setup will first remove the old setup and its resources from the target machine. This removal is reflected in the progress bar of the Setup Progress dialog giving your user the ability to see the progress of the uninstallation.
I didn't see the uninstallation part in the progress dialog or anything refects that part in the log. What can be wrong?

Thanks a lot! smile.gif



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 February 2005 - 20:39

Yes, the connection between the two products is the Upgrade code.
Is the old version still listed in Add/Remove Programs? If yes then the implicit uninstall of the previous version didn't work. Generate a log file to find out why. Maybe your Upgrade entry is not correct (double check the version numbers) or your RemoveExistingProducts action doesn't run due to a condition. You can also perform an Upgrade validation in InstallShield.