benjy
Posts: 35
Joined: Mon Nov 02, 2009 12:25 pm

Can a 32-bit installer upgrade a 64-bit application?

Hi,

I have a problem that I hope you'll be able to help with.

We have an application that we have previously made available in both 32- and 64-bit versions. The installers share the same product code and upgrade codes, which ensures they cannot be simultaneously installed.

For the next release, we have decided to discontinue the 64-bit version and only provide the 32-bit version. This means that when the 32-bit version is installed, it must be capable of upgrading both the 32- and 64-bit versions of the product. Unfortunately, this is not working as expected... If a previous 64-bit version is installed and then the [new] 32-bit version is used to upgrade it, the 64-bit files are not removed from the Program Files folder. This is clearly an unacceptable condition in which to leave the computer.

Is there a way to resolve this? It is a known problem that a 32-bit installer cannot upgrade a 64-bit application, even when the upgrade codes are the same?

TIA,
Ben
Dan
Posts: 4524
Joined: Wed Apr 24, 2013 3:51 pm

Re: Can a 32-bit installer upgrade a 64-bit application?

Hi Ben,

I've tested your scenario and the 32-bit package successfully upgraded the 64-bit one.

Please take a look on the Why does the upgrade installation fail? article where you can see some reasons why why the upgrade process fails. You can also send us the .AIP (project file) and a verbose log of the installation process to support at advancedinstaller dot com so we can investigate it. If it contains confidential information you can send us a small test project which reproduce this behaviour.

Best regards,
Dan
Dan Ghiorghita - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
benjy
Posts: 35
Joined: Mon Nov 02, 2009 12:25 pm

Re: Can a 32-bit installer upgrade a 64-bit application?

Hi,

For anybody who finds this post, I have worked with the guys in AI Technical Support and have determined that this is a fault in Windows 7. Having obtained verbose logs, the problem is actually easy to spot (when you know what you're looking for!); this is a log from Windows 8.1, which uninstalls correctly:

Code: Select all

Action 16:45:46: RemoveFiles. Removing files
MSI (s) Executing op: ProgressTotal(Total=20,Type=1,ByteEquivalent=175000)
MSI (s) Executing op: SetTargetFolder(Folder=C:\Program Files\...\)
However, when this is repeated on Windows 7, there is a key difference:

Code: Select all

Action 16:23:07: RemoveFiles. Removing files
MSI (s) Executing op: ProgressTotal(Total=20,Type=1,ByteEquivalent=175000)
MSI (s) Executing op: SetTargetFolder(Folder=C:\Program Files (x86)\...\)
The remove operation is incorrectly redirected to the "Program Files (x86)" folder, which is wrong as it should be removing the 64-bit files.

We have therefore implemented a custom action to detect this situation and remove the 64-bit files.

Cheers,

Ben
Dan
Posts: 4524
Joined: Wed Apr 24, 2013 3:51 pm

Re: Can a 32-bit installer upgrade a 64-bit application?

Hi Ben,
We have therefore implemented a custom action to detect this situation and remove the 64-bit files.
For this, you can also use the "Uninstall Cleanup" wizard feature to remove any redundant files or folder. On the Files and Folders page, simply right click the folder that needs to be cleaned up upon uninstall and click “Uninstall Cleanup". The “Wizard” will guide you through the rest of the process.

If you have other questions, please let us know.

Best regards,
Dan
Dan Ghiorghita - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Common Problems”