How To Remove a Registry Entry Using the Windows Installer

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Summary

The Windows Installer will automatically remove registry entries that are authored into the Registry table when the referenced component is removed, or any registry entry created in the process of registering a COM server using the Class table. However, often times there are registry entries that applications create after the application is installed that must be removed, or registry entries created by a custom action during install. Since these registry key/values are not authored into the Installer .msi package, the Windows Installer cannot automatically remove these entries during maintenance mode or during uninstall. This article describes the best method to have these types of registry entries removed.

More Information

To remove the registry entry, you must add a row as follows in the Registry Table of the MSI package.

RegistryRootKeyNameValueComponent
MyKey1MyKey-~Notepad

Entering the "-" for the Name field in the earlier entry in the Registry table removes the entire registry key called: MyComputer\HKEY_CLASSES_ROOT\MyKey when the component Notepad is uninstalled. Also note that instead of leaving the Value field empty, you place a "~" in the field to make it NULL.

References

Please see the Msi.chm help file available with the Windows Installer SDK or the Platform SDK for more information.
Propriétés

ID d'article : 243161 - Dernière mise à jour : 19 juin 2014 - Révision : 1

Commentaires