After installing a MSP patch, Windows Installer decides to install ALL Features provided in the initial MSI. How can i prevent MSP patch from installing All available Features?
Features requests show like this:
Installed: Absent
Request: local
Action : local
Why is it requesting to install all?
I found out that the ADDLOCAL property was being set to all the Uninstalled Features. This caused a “Request: local” for each one. What i did to solve the issue was to use a small custom action that deletes this property. It needs to go before CostFinalize because the features to be installed need to be defined before that action.
The variable REINSTALL holds the features that are already installed, and all of them are requested for REINSTALL. So the MSP patch only REINSTALLs the already installed features and leaves the uninstalled features untouched.
EDIT:
In the end, this solution worked for one of my patches, but failed for another. So the final solution i’ve implemented so far is to set REINSTALL=ALL during the Patch.This MSDN link stands that:
so i think this is a better solution than removing the
ADDLOCALproperty. And also it worked for both patches.