'How to migrate from InstallShield to Visual Studio Installer Projects

I have an application in VS 2015, and I am using Visual Studio Installer Projects to generate the installer. On each new version, I change the Version and the ProductCode, while the UpgradeCode remains the same, so that the installer replaces the old versions of the application previously installed in the machine. This works just right, nothing wrong here.

BUT, There are older versions of this application running on some of the clients' machines, and I know that the installer of those versions was made using InstallShield. The problem is that I can't make the new installer to replace those old versions, although I'm using the same UpgradeCode and the same Name... It just installs the new version but the old one remains on the machine.

What am I doing wrong? Any help is appreciated!



Solution 1:[1]

I struggled with this exact issue for a while when replacing an InstallShield project with a VS Installer project. The UpgradeCode was identical between the two & RemovePreviousVersions was True..

The thing that got me was the InstallAllUsers property. These need to be the same for both installer projects. If InstallShield was installed for all users, VS Installer cannot overwrite it if it only installs for the current user.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 David