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

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

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).
Answered 03/18/2009 by: michaelnowell
Second Degree Blue Belt

Please log in to comment
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.
Answered 03/18/2009 by: aogilmor
Ninth Degree Black Belt

Please log in to comment
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
Answered 03/18/2009 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
Oy! Who said "Conflict management"? Come on! Own up! Who was it?
Answered 03/19/2009 by: VBScab
Red Belt

Please log in to comment
0
whats conflict management ?
Answered 03/19/2009 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
John, I think Ian means Anger Mgmt :D
Answered 03/20/2009 by: AngelD
Red Belt

Please log in to comment
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.
Answered 03/20/2009 by: jayteeo
Purple Belt

Please log in to comment
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
Answered 03/22/2009 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
Answer this question or Comment on this question for clarity