Remove Registry during Uninstall
Hello All,
I am sorry, i know this case has been discussed many times in this forum and I am again repeating it.. as i am not getting a solution ..
Issue--- During Install there is a Active set up key that I am keeping it in HKLM and a corresponding just a Key in HKCU so that after uninstall this HKCU key can be deleted during uninstall and after MSI is re-installed Active setup can work properly and don't find any key in HKCU.
Steps: I tried using Remove Registry table help by creating a component first and setting it for only during Uninstall but is not working and the key is not getting removed.
Does RemoveRegistryValues action only work for System Registries..?
Any help would be very beneficial for me...
If the case , needs to be resolved by a CA , i can do that but I would like to know about RemoveRegistry ..why it is not working??[:(]
Thanks
I am sorry, i know this case has been discussed many times in this forum and I am again repeating it.. as i am not getting a solution ..
Issue--- During Install there is a Active set up key that I am keeping it in HKLM and a corresponding just a Key in HKCU so that after uninstall this HKCU key can be deleted during uninstall and after MSI is re-installed Active setup can work properly and don't find any key in HKCU.
Steps: I tried using Remove Registry table help by creating a component first and setting it for only during Uninstall but is not working and the key is not getting removed.
Does RemoveRegistryValues action only work for System Registries..?
Any help would be very beneficial for me...
If the case , needs to be resolved by a CA , i can do that but I would like to know about RemoveRegistry ..why it is not working??[:(]
Thanks
0 Comments
[ + ] Show comments
Answers (7)
Please log in to answer
Posted by:
MSIPackager
14 years ago
You won't easilly be able to clean up the CU keys since they will reside in the individual user profiles.
When the app is uninstalled it will automatically remove the HKLM AS keys but (even if you author the HKCU keys removal in the RemoveRegistry table) they won't get deleted since the chances are (depending on your deployment tool) the uninstall will be happening in the system context. Even resorting to a CA you will be in the same boat.
I don't see why there is a requirement to remove the CU AS keys anyway? If you need to force AS to run again after an updated package is installed you can either use a different GUID to make it unique or use the AS version value (perferred option).
http://www.etlengineering.com/installer/activesetup.txt
http://wikidesktop.org/index.php?title=Active_Setup
Does this make sense?
Cheers,
Rob.
When the app is uninstalled it will automatically remove the HKLM AS keys but (even if you author the HKCU keys removal in the RemoveRegistry table) they won't get deleted since the chances are (depending on your deployment tool) the uninstall will be happening in the system context. Even resorting to a CA you will be in the same boat.
I don't see why there is a requirement to remove the CU AS keys anyway? If you need to force AS to run again after an updated package is installed you can either use a different GUID to make it unique or use the AS version value (perferred option).
http://www.etlengineering.com/installer/activesetup.txt
http://wikidesktop.org/index.php?title=Active_Setup
Does this make sense?
Cheers,
Rob.
Posted by:
guy.forum
14 years ago
Thanks Rob,
It really make sense and I also agree that we shall be making a deployment which will run in system context and the HKCU keys will not be deleted.
But, what if a repair or reinstall needs to take place and Active Setup needs to be repaired with a same MSI and no changes to that.
That means ! We are installing a MSI and it will install Active Setup just one time and attempting to reinstall again and again will not affect Active Setup to run..U can consider my Active setup as a Script which will do much more activity so if we repair or reinstall, i think Active Setup should also work..
So, can we consider this as a limitation that if a MSI is running in system context then HKCU keys will bot be uninstalled and hence reinstallation will not attempt to run Active Setup again for the user...
And using SID for detecting the user hive is quite complex process for this simple task..wat do u suggest further..
It really make sense and I also agree that we shall be making a deployment which will run in system context and the HKCU keys will not be deleted.
But, what if a repair or reinstall needs to take place and Active Setup needs to be repaired with a same MSI and no changes to that.
That means ! We are installing a MSI and it will install Active Setup just one time and attempting to reinstall again and again will not affect Active Setup to run..U can consider my Active setup as a Script which will do much more activity so if we repair or reinstall, i think Active Setup should also work..
So, can we consider this as a limitation that if a MSI is running in system context then HKCU keys will bot be uninstalled and hence reinstallation will not attempt to run Active Setup again for the user...
And using SID for detecting the user hive is quite complex process for this simple task..wat do u suggest further..
Posted by:
MSIPackager
14 years ago
Well your situation sounds a bit unique. I guess that most people use active setup as a one off delivery of some current user specific settings and that straight reinstall or repair shouldn't need to cater for re-running the AS routine.
I have to ask, if you are not making any changes to the MSI, why would you need to reinstall / re-run AS anyway?
I guess you could pass the active setup version to the MSI on the command line via public property to increment it for a re-install but this sounds horrible to me and I can't see how you'd manage this solution long term. The logon script or group policy might be another option to clear out the CU AS keys but these are equally horrible suggestions.
Are there any shortcuts in the app? If so you could build the some additional logic into the (current AS) script and have the shortcut point to that, before ultimately launching the program - that way you could do away with AS completely.
I'm not sure there is an easy answer for you - but I'm sure some bright spark on here will come up with a suggestion better than mine :-)
Regards,
Rob.
I have to ask, if you are not making any changes to the MSI, why would you need to reinstall / re-run AS anyway?
I guess you could pass the active setup version to the MSI on the command line via public property to increment it for a re-install but this sounds horrible to me and I can't see how you'd manage this solution long term. The logon script or group policy might be another option to clear out the CU AS keys but these are equally horrible suggestions.
Are there any shortcuts in the app? If so you could build the some additional logic into the (current AS) script and have the shortcut point to that, before ultimately launching the program - that way you could do away with AS completely.
I'm not sure there is an easy answer for you - but I'm sure some bright spark on here will come up with a suggestion better than mine :-)
Regards,
Rob.
Posted by:
anonymous_9363
14 years ago
AS cannot be repaired/self-healed. If you want repair/self-healing, you'll need to abandon AS and use the parent-child feature set-up as documented a bazillion times herein. If your package doesn't have any advertised entry-points, then clearly repair/self-healing isn't an option for ANY of the package's features.
Posted by:
guy.forum
14 years ago
I have to ask, if you are not making any changes to the MSI, why would you need to reinstall / re-run AS anyway?
Ans: This case just came during my testing of the MSI. Let us say , if I change the value of the registry key being imported in HKCU via AS and then what will happen during reinstallation, will MSI rectify it to original value that i set in my AS Script?..The answer is NO because AS is already utilized.
As of now, I just managed to remove the HKCU registry , in case if a user is an Admin and then HKCU AS will be removed and that user will be ready to take AS for the next time.
Thanks for providing the suggestion though I am pretty sure that Shortcut Pointing to AS Script and then launching the application will work!! [;)]
Thanks once again Rob for your time and help.
Ans: This case just came during my testing of the MSI. Let us say , if I change the value of the registry key being imported in HKCU via AS and then what will happen during reinstallation, will MSI rectify it to original value that i set in my AS Script?..The answer is NO because AS is already utilized.
As of now, I just managed to remove the HKCU registry , in case if a user is an Admin and then HKCU AS will be removed and that user will be ready to take AS for the next time.
Thanks for providing the suggestion though I am pretty sure that Shortcut Pointing to AS Script and then launching the application will work!! [;)]
Thanks once again Rob for your time and help.
Posted by:
MSIPackager
14 years ago
Ans: This case just came during my testing of the MSI. Let us say , if I change the value of the registry key being imported in HKCU via AS and then what will happen during reinstallation, will MSI rectify it to original value that i set in my AS Script?..The answer is NO because AS is already utilized.
OK but if this a test environment, you should be reverting to a clean baseline / test account profile each time you amend / retest the package. It doesn't sound to me like you'll need to do this in production but if the shortcut script thing works for you then great [:)]
Cheers,
Rob.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.