I am seeing a strange issue when performing an upgrade installation of our product, using a setup created using AI 11.4.1.
Our setup has an install and an uninstall custom action, performed by a .net managed assembly.
The install custom action writes a value into the registry which contains the version number of one of the managed assemblies in the installation.
The uninstall custom action removes that value.
(the custom actions do other things as well, but this illustrates the issue).
The install works fine.
The uninstall works fine.
However, when I try to do an upgrade, from the old to the new version (i.e. the old version is already installed, and I then invoke the new setup), what seems to happen is that the installation process first of all removes the old version, and as part of that invokes the uninstall custom action (which I think works). The upgrade then proceeds to install the new version, which all goes well, except that when it invokes the install custom action, it seems to use the old version of the assembly which contains the custom action. Hence it writes the old version number of the managed assembly into the registry, not the new version.
It's as if, because the installation process had loaded the old version of the custom action assembly when doing the uninstall custom action, it has kept that old version loaded in memory and uses it to do the install action rather than loading the newer version of the same-named custom action assembly to do the install.
Do you have any ideas regarding this?