private void DeleteRegistryKey(string subkey, bool deleteEmptyOnly) { try { Log.WriteStart("Deleting registry key"); if (RegistryUtils.RegistryKeyExist(subkey)) { if (deleteEmptyOnly && RegistryUtils.GetSubKeyCount(subkey) != 0) { Log.WriteEnd(string.Format("Registry key \"{0}\" is not empty", subkey)); return; } Log.WriteInfo(string.Format("Deleting registry key \"{0}\"", subkey)); RegistryUtils.DeleteRegistryKey(subkey); Log.WriteEnd("Deleted registry key"); InstallLog.AppendLine(string.Format("- Deleted registry key \"{0}\"", subkey)); } else { Log.WriteEnd(string.Format("Registry key \"{0}\" not found", subkey)); } } catch (Exception ex) { if (Utils.IsThreadAbortException(ex)) { return; } Log.WriteError("Registry key delete error", ex); InstallLog.AppendLine(string.Format("- Failed to delete registry key \"{0}\"", subkey)); throw; } }
private static void DeleteRegistryKey(string subkey) { try { Log.WriteStart("Deleting registry key"); Log.WriteInfo(string.Format("Deleting registry key \"{0}\"", subkey)); RegistryUtils.DeleteRegistryKey(subkey); Log.WriteEnd("Deleted registry key"); } catch (Exception ex) { if (Utils.IsThreadAbortException(ex)) { return; } Log.WriteError("Registry key delete error", ex); throw; } }