/build/static/layout/Breadcrumb_cap_w.png

Different MSIs updating the same registry key value

Hey guys...

If there are two MSIs that update/create the same registry value and both were installed. What happens when you uninstall one (and the MSI is set to remove the key value on uninstall)? Does it cancel the deletion since the other MSI is still installed?

0 Comments   [ + ] Show comments

Answers (8)

Posted by: jmcfadyen 15 years ago
5th Degree Black Belt
1
this is all dependant on the component codes of the offending components.

where the two apps are like this

app A = component code A

app B = component code B

then removal of either application will break (remove) the component noted.

if you are in a situation where you would like to keep the key on the machine if one application is installed you need to match the component codes for each component on both applications

an example like this would suffice

app A = component code X
app B = component code X

more detail on this here

http://johnmcfadyen.spaces.live.com/blog/cns!9DD01136FC094724!136.entry

note if you have a different value for your registry key in both packages you may find the values do not update during installation of the 2nd package.

something to keep an eye out for
Posted by: michaelnowell 15 years ago
Second Degree Blue Belt
0
I suspect that when you uninstall one of the applications, that it will quite simply remove the reg key.

You could work around this (in both msi's) by either setting the components that the registry keys are in to remain upon uninstall (I wouldn't really recommend that) or to set the registry key in question as a keypath and launch your app with an advertised shortcut (which will then detect that the key doesn't exist and repair the app).
Posted by: aogilmor 15 years ago
9th Degree Black Belt
0
I believe Michael is correct except that I'm pretty sure you don't really need an advertised shortcut if the registry value is a keypath of the component in the 2nd app. If worse comes to worst and removal of one app breaks the 2nd app you could always do a manual repair.

do some testing and determine what effect removal has. If it doesn't break the 2nd app or if the 2nd app self heals, no worries.
Posted by: anonymous_9363 15 years ago
Red Belt
0
Oy! Who said "Conflict management"? Come on! Own up! Who was it?
Posted by: jmcfadyen 15 years ago
5th Degree Black Belt
0
whats conflict management ?
Posted by: AngelD 15 years ago
Red Belt
0
John, I think Ian means Anger Mgmt :D
Posted by: jayteeo 15 years ago
Purple Belt
0
ORIGINAL: jmcfadyen

this is all dependant on the component codes of the offending components.

where the two apps are like this

app A = component code A

app B = component code B

then removal of either application will break (remove) the component noted.

if you are in a situation where you would like to keep the key on the machine if one application is installed you need to match the component codes for each component on both applications

an example like this would suffice

app A = component code X
app B = component code X

more detail on this here

http://johnmcfadyen.spaces.live.com/blog/cns!9DD01136FC094724!136.entry

note if you have a different value for your registry key in both packages you may find the values do not update during installation of the 2nd package.

something to keep an eye out for



Someone on my team had created a second MSI which updates a registry component that is also in another MSI rather than creating a transform for the original (long story). To my surprise, we saw rather different results than what you had described. The registry component was actually updated after MSI B ran (obviously after MSI A had been installed). An uninstall of MSI A was performed and we found that the registry component had remained in tact. I'll have to look at MSI A to see if the registry component is designed to remain on the machine on uninstall.
Posted by: jmcfadyen 15 years ago
5th Degree Black Belt
0
components can be marked to overwrite if a keypath exists or not to overwrite

so depends on component attributes in the SDK for more details.

you may also find some people remove keys during installation to ensure that successive components get written. quite a can of worms as to how this works hence i didn't bother going into too much detail
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ