Application Upgrade

I am packaging an application that has Hummingbird EXCEED 12.0 (32-bit)as the pre-requisite.We already have 2 more versions of EXCEED in our environment i.e. EXCEED 8.0(32-bit) and EXCEED 14.0(64 bit).My application will be deployed to both XP(32-bit) and Vista(64-bit).Now as EXCEED14.0 is a 64-bit application, so I assume that all my XP machines will not have this version installed as XP machines are 32-bit.In XP, we would have EXCEED 8.0.When my application will be installed in XP, EXCEED 12.0 will upgrade 8.0 and app would work fine here.

The problem starts when I test it on Vista machines.Vista can have both EXCEED 8.0 and EXCEED 14.0.When I test my application with EXCEED 8.0 already installed on system, it upgrades to EXCEED 12.0.So this is fine for me.However, when I test my application on Vista with EXCEED 14.0 installed on it, it does not let EXCEED 12.0 to be installed.I understand since 12.0 is a lower version, ideally it should not allow installas higher version(EXCEED 14.0) is already present in system.Bt my question here is that EXCEED 14.0 (which is already in system) is a 64-bit app which means it gets installed to C:\ProgramFiles....EXCEED 12.0 which my application is installing is 32-bit app and gets installed on C:\ProgramFilesx86.As %INSTALLDIR% is different, the applications should be able to co-exist in same system which is not happening in my case.EXCEED 14.0 does not allow EXCEED 12.0 to get installed.

Just to check the upgrade behaviour with another example, I just installed EXCEED 14.0(64-bit) on system and then installed EXCEED 8.0(32-bit).These 2 does co-exit which is strange or may be I am not able to get the behaviour of apps here.Please put some light on this.Thanks.

Comments

Community Chosen Answer

1

Hey Deepali,

If you want both the applications to co-exist, then you need to remove the upgrade code in MSI which says and checks if a newer version is there. and you need to remove the references of it as well from the CA and tables.

I never throught of that PIyush.....Will see if this would help.....But if EXCEED 14.0 is already installed, will it still allow 12.0 to install (as its a lower version).IN this case also is it possible that 14.0 and 12.0 would co-exist?

14.0 will not be mentioned but there would be upgrade code for it with maximum as null in the Upgrade table. You will have to remove that and all associated entries with it. Generally it is with NEWERPRODUCTFOUND.

Answers

0

My guess is that you are using an executable (the vendor's) to do all this? I suggest extracting the MSIs from the EXE and using those, wrapped in a script which determines the OS version and bit-level and then executes the relevant MSI.

Quite why anybody would want to mix 64-bit and 32-bit versions of the same app on one machine escapes me but I stopped asking that kind of question decades ago!

I am not using the vendor install.It is the msi that I am using and also the application which is already installed on the system is also an msi and that is why it is upgrading my older version.
Let me ask a different question...so that I get a clear idea of whats happening....If system is a 64 bit machine...and it has a 64 bit EXCEED installed.Now even though I am installing an older version of EXCEED (32-bit), will it allow me to install it as %INSTALLDIR% would be different, cuz one app is 32 bit and the other is 64-bit, or is it that since its an older version, it wnt allow the installation as newer version is already present in the system(even though %INSTALLDIR% is different.).I have not faced any issues like this before so a bit confused about this one...Thanks for your help...