Recently I was working with an InstallScript MSI installation that ran a Basic MSI installation silently towards the end of the OnFirstUIAfter event handler. Both installations were cached on the local hard drive. What resulted was an interesting problem during the uninstallation of one of the programs.
In Programs & Features, when I tried to uninstall the InstallScript MSI installation, it would bring up the Basic MSI installation. Likewise, if I uninstalled the Basic MSI installation, it would also bring up the Basic MSI installation. This was puzzling because each installation was different, each had different GUID codes (Product Code, Upgrade Code and Package Code) and each was cached on the local hard drive.
The problem occurred because I was using the default value of setup for the Setup File Name under the Product Configuration properties in the Releases view for both projects.
What was happening was the Windows Installer was getting confused because the cached file for both installations, in their respective cached folders, was setup.exe. Don’t ask me why, it still doesn’t make sense to me. But, that was the reason.
The solution to the problem was to set the value of Setup File Name to something different in both projects.
Here is the Product Configuration for the InstallScript MSI project:
Product Configuration for InstallScript MSI installation
Notice the name of the setup file has been set to HelloWorld.
Here is the Product Configuration for the Basic MSI project:
Product Configuration for nested Basic MSI installation
Notice the name of the setup file has been set to MegaViewLauncher.
Simply setting the value of Setup File Name to something different in both projects fixed the problem.