public void DeleteKey(RegistryKey regKey, bool recurse) { if (regKey == null) { return; } Wizard.CurrentFile = regKey.Name; RegistrySubKeys.Add(regKey, recurse); }
public void DeleteFoundRegKeys(RegistryKey regKey, bool includeSubKeys, XmlReader xmlChildren) { if (regKey == null) { return; } var regexSubKeys = new Dictionary <string, bool>(); var regexValueNames = new List <string>(); while (xmlChildren.Read()) { switch (xmlChildren.Name) { case "IfSubKey": { var searchText = xmlChildren.GetAttribute("SearchText"); var recurse = xmlChildren.GetAttribute("Recursive") == "Y"; if (searchText != null) { regexSubKeys.Add(searchText, recurse); } break; } case "IfValueName": { var searchText = xmlChildren.GetAttribute("SearchText"); regexValueNames.Add(searchText); break; } } } var valueNames = RecurseRegKeyValueNames(regKey, regexValueNames, includeSubKeys); var subKeys = RecurseRegKeySubKeys(regKey, regexSubKeys, includeSubKeys); foreach (var kvp in valueNames) { RegistryValueNames.Add(kvp.Key, kvp.Value); } foreach (var kvp in subKeys) { RegistrySubKeys.Add(kvp.Key, kvp.Value); } }