Link to home
Start Free TrialLog in
Avatar of Chris Drew
Chris DrewFlag for United Kingdom of Great Britain and Northern Ireland

asked on

InstallShield Upgrade Error

I have been creating upgrade installations for my product for years with no issues but now I can't get one to work!

I have created a basic MSI installer which creates a .exe installation. Normally when I want to create a new installation (which works both as a full installer and will upgrade an existing installation), I simply update the necessary files and change the Product Version. A new package code is generated as I do the build.

I am using InstallShield 2010 to build a basic MSI setup project.  I have been creating upgrade installations for my product for years with no issues but now I can't get one to work!   I am working with the same MSI project - I just update it for each update of my product.

Normally when I want to create an upgrade for my product (which works both as a full installer and will upgrade an existing installation), I simply update the necessary files and change the Product Version. A new package code is generated as I do the build.

I have done the same for the latest update of my product but now when I run the installation (from Windows Explorer) I get a message stating that the Installation is being resumed and when complete I realise that my updated files have not been copied - the installation runs very quickly also.

What is also odd is that if I click within Installshield on Build>Run Release it behaves very differently - it first says 'Removing old version' and then correctly installs the upgrade version.

I'd welcome any help as I don't understand why the Installation runs correctly within InstallShield but not from the generated executable nor do I understand why the files are not being updated as this process has always worked before!
Avatar of Vadim Rapp
Vadim Rapp
Flag of United States of America image

1.  you said: " I simply update the necessary files and change the Product Version. A new package code is generated as I do the build." - the upgrade should also change Product Code. Was that the case?

2. always try installation and upgrade on clean machine. The best is to have virtual machine in fresh state, with saved snapshot, so you can reset it to the initial state with one click. From what you said about resuming, it looks like the machine you try this on has quite a few traces of old installations.

3. if clean machine still has the problem, please produce detailed installation log (http://support.microsoft.com/kb/223300) and upload to this question so we take a look.
> The best is to have virtual machine in fresh state

...and to have one virtual machine representing each operating system and platform, and test your installation (both fresh and upgrade) on each one before releasing it to the public.
Avatar of Chris Drew

ASKER

I do not change the product code between updates as these are minor updates that Iw ant to just go over the top of the existing version.  Changing the Product Code will lead to multiple versions of my application being listed under Add/Remove programs which I don't want.

I ran tests on the upgrade - but from within InstallShield which seems to work correctly.  Its when I run the lifecheckv448,exe file generated that I see the problem.  Unfortunately I released to a customer and they encountered the same problem!

I have uploaded the log file generated but TBH I'm not sure what I am looking for.  Previously when I have done the above, my product just gets upgraded and any new files are copied into the original installation folder.

Note that after the installation the Add/Remove programs entry has been updated to v.4.8 - however the program files are still the old v4.4.6 versions.
> Changing the Product Code will lead to multiple versions of my application being listed under Add/Remove programs which I don't want.

Only if you don't specify that this is an upgrade. If you do, then the upgrade will remove previous versions.

Minor update are fine, however, as long as features and components are the same.

> I have uploaded the log file

where is it?
Thanks for the info

How do I flag that it is an upgrade?  I've not had to do that before but may be a possibility.  I wonder if I have changed the components as I remember deleting one that was no longer used - maybe this is the cause of the problem?

I did attach it but can't see where it has gone - I will attach it again.
lifecheck.log
The log does not show any attempt to copy any files. To analyze why this is not what you expect, please tell what you expected, i.e. which files should have been copied over, why (are they versioned? higher version? later modification date?) and what component they belong to.

This is where you specify major upgrade in Installshield.

User generated image
There would be a number of files which should be updated based on their version and date - all updated files will have the version 4.4.8 rather than 4.4.6.  There are 3 main files however lifecheckv4.exe, ttlcommon.dll and LifeCheckDAL.dll which are all updated in this patch.  There will also be a new folder with files in it which is \Database Scripts\Update447to448 and Update448to450
If there's even new folder, definitely try major upgrade.

Also, from the log it looks like this product is assigned by group policy? try without.

Product {DBEB20BB-7DD3-4DD0-B184-4AA26EFA0159} is admin assigned: LocalSystem owns the publish key.
It gets more odd...

I have tried your suggestion of changing the product code and setting the upgrade fields.  I have set the Upgrade rules to completely uninstall the old version and then install and set Major Upgrade->Products sharing my upgrade code and Product Version->Any earlier version.

Under Add/Remove programs I see LifeCheck v4.4.6 installed.  My installation shows a Product Version of 4.5.0 and yet when I run the installer it says that a later version of the product is already installed???
ASKER CERTIFIED SOLUTION
Avatar of Vadim Rapp
Vadim Rapp
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
OK Thanks - I have not deliberately set either of these settings - the default for a feature appears to be 'Allow Advertise'  - I have set this to 'Disallow Advertise'.  I can't see a setting anywhere in InstallShield which would set 'product is assigned by group policy'.
There's nothing wrong with "allow advertise" in the installation - the matter is not that it's allowed, but that it's in fact advertised, i.e. the files are not in place yet. Such as, when the application is assigned by group policy under user configuration without "Install this application at logon", or by actually requesting the feature to be advertised in UI during the installation, or by command line.