Hi All,

I am new to this forum and i am not sure if this has been discussed here before. Here is my scenerio. I have an MSI which has few HKCU keys and a shortcut which is advertised. So when any user logs into the system and lauches the shortcut, the MSI will self repair and populate the HKCU keys for that user.
Here is my problem: During uninstallation, the HKCU keys would be removed only from the user who is uninstalling the MSI, is there a way in the MSI to handle the removal of HKCU keys for all the other users?

Thanks in advance
Cheers
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
You'd need to do that in a Custom Action, probably in script. Needless to say, the uninstall would therefore need to be carried out using an account with local administrative privileges.

But, I'd ask "Why bother?" It will take you a good deal of work to implement if you don't already have suitable scripts (enumerating registry keys, possibly translating SIDs to account names and so on...) and for what benefit? Leave them there.
Answered 12/04/2008 by: VBScab
Red Belt

Please log in to comment
0
Thanks for the reply VBScab. One of my customers for whom i am doing the package is very specific about the removal of user specific registry keys from all the user upon uninstallation.

So as you said a script is the only possibility to handle this?? Doesnt MSI have the capability to handle it??
Answered 12/04/2008 by: gopal787
Senior Yellow Belt

Please log in to comment
0
Doesnt MSI have the capability to handle it??
For a per-user install; Yes, as the same user who installed the application will also uninstall it.

For per-machine; No.
As every user's registry hive isn't loaded, only the one whom is logged in, it will not be possible nativily from the MSI.
What you could do is to use Active Setup. When the user logon it will be run once for that user, so next time that same user logon the Active Setup command (you specified) will not be executed again. So in the command you do some magic to remove the HKCU registry.
Answered 12/04/2008 by: AngelD
Red Belt

Please log in to comment
0
What you could do is to use Active Setup. Kim, I don't believe that's a viable option here, as it sounds like the customer is 'remote'. If the MSi was being used 'internally', then AS makes sense.
Answered 12/05/2008 by: VBScab
Red Belt

Please log in to comment
0
In that case I don't think the customer would like my next idea.
Load each user's (local) registry hive, remove the registry and unload it.

There does not exist any elagant solution for the customer's request.

If it's a problem during installation of the next package using the same registry then using RemoveRegistry and associate the entry's component to a component being "installed" on profile-fix (first-use/"second user") would also remove the registry before writing the new.
Answered 12/05/2008 by: AngelD
Red Belt

Please log in to comment
0
Gopal,

I am not sure if this helps...

Why don't you include those keys in your MSI and put * for all those keys?
I mean install if absent uninstall if present...

Suma
Answered 12/05/2008 by: sumarchana
Orange Senior Belt

Please log in to comment
0
Suma,

I don't think you understood the OP's or rather OP's customer's request.
Every user's HKCU entries for that package.
Answered 12/05/2008 by: AngelD
Red Belt

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