According to Microsoft if you’re installing a patch silently, you must also set the REINSTALLMODE property to ecmus and REINSTALL to ALL. Otherwise, the patch only updates the MSI cached on the target device.
Our application vendor states the following string must be used.
msiexec.exe /p “<Full path to .msp>” REINSTALL=ALL REINSTALLMODE=omus /qn
I have looked into the code and cannot find where this is being done or can be done for that matter.
Nor does the installation string in the log reflect these parameters being added.
Is this something that could be added? Perhaps add a new default parameters configuration item for when executing a patch?
I dont see an issue with adding -AddParameters for Execute-MSP and I also dont see an issue with adding the variables but both need to be tested. The function already uses default config MSI parameters.
Could not get a patch applied to some package called “Dell SupportAssist”. It only accepted “msiexec /p SupportAssistx64-18.104.22.168.msp /qn REBOOT=ReallySuppress /norestart”.
Using process explorer and procomon i found out execute-msi -Action ‘Patch and execute-msp in PSADT will always try using the /update switch and /Qb! instead of /Qn. Running the patch manually it said that it must be running using /qn.
Got around it using: Execute-Process -Parameters “/p SupportAssistx64-22.214.171.124.msp /qn REBOOT=ReallySuppress /norestart” -Path “msiexec.exe” -WorkingDirectory “$dirFiles”