From c081598d94dc3c3a53b51f9841384565f5c95f87 Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Wed, 27 Aug 2014 14:12:20 -0700 Subject: [PATCH] Add a method to remove the registry key --- src/Squirrel/IUpdateManager.cs | 6 ++++++ src/Squirrel/UpdateManager.cs | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/Squirrel/IUpdateManager.cs b/src/Squirrel/IUpdateManager.cs index 682f95df..af56f02f 100644 --- a/src/Squirrel/IUpdateManager.cs +++ b/src/Squirrel/IUpdateManager.cs @@ -66,6 +66,12 @@ namespace Squirrel /// The switch for silent uninstall, usually --silent /// The registry key that was created Task CreateUninstallerRegistryEntry(string uninstallCmd, string quietSwitch); + + /// + /// Removes the entry in Programs and Features created via + /// CreateUninstallerRegistryEntry + /// + void RemoveUninstallerRegistryEntry(); } public static class EasyModeMixin diff --git a/src/Squirrel/UpdateManager.cs b/src/Squirrel/UpdateManager.cs index e2d37d27..04fcac1f 100644 --- a/src/Squirrel/UpdateManager.cs +++ b/src/Squirrel/UpdateManager.cs @@ -145,6 +145,13 @@ namespace Squirrel return key; } + public void RemoveUninstallerRegistryEntry() + { + var key = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default) + .OpenSubKey(uninstallRegSubKey); + key.DeleteSubKeyTree(applicationName); + } + public void Dispose() { var disp = Interlocked.Exchange(ref updateLock, null);