cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ambareesh
Level 3

upgrading from 32bit installer to 64bit installer

Hi
In our project we have one scenario for which we are not able to find the solution. I kindly request you to let me know if there is a way to solve this issue.
Our installer package is 32-bit, which has both 32-bit and 64-bit components.

Below I am giving the details of the scenario.

1. In a system already we have installed our old version of the product. Which has deployed many executables into the installdir folder. (ex. A.exe, b.exe), both are different modules, and both of them are 32-bit version.
2. Now we are planning to upgrade this system with our latest version of the product. During this upgrade we want to delete A.exe and b.exe of the older version(i.e 32-bit) and put this new version of A.exe and b.exe which are of 64-bit version, the catch here is that the new A.exe and b.exe are pertains to 64-bit and they form a different components all together.

For this below are the details of the things which I have tried.
1. I have made the new upgrade as the major upgrade.
2. Added new components for 64-bit executables.
3. Build the installer project and created the new msi.

Testing Results after doing this.

1. we upgrade it by running the setup.exe and the installer detected as the upgrade, and copied the new files.
2. But at the end of installation it is deleting all the new files which it is copied because of this the new executables are missing in the installdir and we are not able to launch the application.

I am suspecting the reson for this could be, the different executables which belongs to different modules. Since the A.exe and B.exe of 32-bit has different component name and Key where as the A.exe of B.exe of 64-bit have different component name and key.

Let me know if you have any solution to solve this kind of issue or whether you have faced any similar kind of issue.

Thanks
Ambareesh.s.s
Labels (1)
0 Kudos
(3) Replies
Nick_Umanski
Level 7

If the new files are being deleted at the end of the install, it could be because of a flag set in the Upgrade tab specifically:

"Install setup then remove unneeded files"

This is claimed to be the most efficient way of carrying out upgrades, but requires careful versioning control. I have found all sorts of additional issues with this setting and nowadays always use:

"Completely uninstall old setup before installing new setup"

With the first setting, if your new files have the same file name but being installed by a different component, they will overwrite the old files assuming they are not in use and then the setup will determine that the old files with the same name are not required and delete them.
0 Kudos
ambareesh
Level 3

hi Nick Umanski
Thanks for ur reply.
To make it completely unistall old setup before installing new i changed the product code and product version to make it as major upgrade.
but what i am observing is that during the major upgrade it is not uninstalling the the old product properly. do you know why this is happening even after changin the product code and product version.

for me if the older version files are deleted first and then the new files are copied then things will work but that is not happening properly for me with major upgrade.
for me installer is copying the new files first and then trying to delete the older files based on the component. since the file names are same for both 32 and 64 bit components my files are getting deleted.

thanks
ambareesh
0 Kudos
ambareesh
Level 3

hi Nick Umanski
Thanks for ur reply.
I could able to resolve this issue.

While making major upgrade installer provides two options. One is to remove the older installed product and reinstall the new one, and the other option is to copy the new files and remove the unrelated files during the end of installation.
Since in our project our global setting for major upgrade was option 2. So I changed that option to use option 1. Since we don’t use installer IDE I changed the settings in installexecutesequence.idt file. By adding the line
RemoveExistingProducts 1499 RemoveExistingProducts
0 Kudos