How can I change a component property in an MST which has already been deployed?
I've been asked to do some remediation work on a piece of software which has been historically packaged via MST and deployed across a number of servers.
Unfortunately when said app is uninstalled, it removes the wow6432node in HKLM, a change made by the transform rather than the vendor's MSI. I have suggested that the component attribute be made permanent which has been agreed as the way to move forward however I've been tasked with finding a solution to the instances of the application which have already been deployed. Obviously a full upgrade is out of the question as I don't want a big chunk of the registry removed in the process.
I thought it may be possible with an MSP, I can't figure out how an MSP can affect the tables of an MST if indeed this is possible at all.
Can anybody suggest a solution please?
If you mean the entire wow6432node is removed, then (most likely) a very bad CU is burried in that transform!
The only thing I can think of is that you write a script that exports the key, runs the uninstall, and imports the key back. You'll still have the reg keys associated with the app but that doesn't matter at all.
I havent tested this idea,
but you could use the same MSI, and same MST, but just increase the version number - major upgrade, so change ProductCode and Product..lol I can remember the other bit! You know what I mean. Then find the Component that removing the wow6432node, and change that to perminate.
Remember to move the RemoveExistingProducts to the tail end of the InstallExec sequence or it will remove the whole product before upgrading it! (not what you wanted as it will nuke the Wow64 node.)
In doing some research on this subject, I came across a similar question: http://www.itninja.com/question/can-t-apply-transform-with-msi-reinstall
Look for the answer posted by andys0123 - Basically, it will involve modifying the registry, because the name and location of the MST used during install is stored there.