.NET DLL does not get installed when RemoveExistingProduct exists after InstallValidate

Article:TECH7643  |  Created: 2005-09-06  |  Updated: 2008-05-06  |  Article URL http://www.symantec.com/docs/TECH7643
Article Type
Technical Solution


Issue



We have moved the RemoveExistingProduct action so that it exists after InstallValidate in the Execute Immediate script. The files are removed during the RemoveExistingProducts action, but various .DLLs are not getting reinstalled during the upgrade.   How can we fix this?

Solution



During costing, Windows Installer determines which  version of a file  exists on the computer. Since  the older version are not removed until the RemoveExistingProducts action.  It is during Costing (CostInitialize) that Windows Installer determines whether it is running a newer or the same version as what is in the upgrade. If the version is newer or the same, it can determine that it doesn't need to place down the file.

To make it so that the files are always replaced during an upgrade, move the RemoveExistingProduct action above the CostInitialize action in the Execute Immediate script.  Doing it this way the previous version is uninstalled
prior to costing and Windows Installer will install all the files in the upgrade installation.


Legacy ID



1567


Article URL http://www.symantec.com/docs/TECH7643


Terms of use for this information are found in Legal Notices