/// <summary> /// </summary> /// <param name="context"></param> /// <devdoc> /// Called to register this attribute with the given context. The context /// contains the location where the registration information should be placed. /// It also contains such as the type being registered, and path information. /// This method is called both for registration and unregistration. The difference is /// that unregistering just uses a hive that reverses the changes applied to it. /// </devdoc> public override void Register(RegistrationAttribute.RegistrationContext context) { using (Key key = context.CreateKey(RegistryPath)) { key.SetValue("", RegName); key.SetValue("Service", _providerType.GUID.ToString("B")); key.SetValue("Package", PackageGuid.ToString("B")); key.SetValue("DisplayName", DisplayName); } }
public override void Register(RegistrationContext context) { using var key = context.CreateKey("AutomationProperties\\" + Category + "\\" + Page); key.SetValue(null, "#" + ProfileNodeLabelId.ToString()); key.SetValue("Description", "#" + ProfileNodeDescriptionId.ToString()); key.SetValue("Name", Page); key.SetValue("Package", PackageGuid.ToString("B")); if (ResourcePackageGuid.HasValue) { key.SetValue("ResourcePackage", ResourcePackageGuid.Value.ToString("B")); } key.SetValue("ProfileSave", 1); key.SetValue("VSSettingsMigration", (int)ProfileMigrationType.PassThrough); }
/// <summary> /// Extract GUIDs and IDs descriptions from given XML content. /// </summary> private static List <PackageGuid> Parse(string vsctContentFile) { List <PackageGuid> result = new List <PackageGuid>(); var xml = new XmlDocument(); XmlElement symbols = null; try { xml.LoadXml(vsctContentFile); // having XML loaded go through and find: // CommandTable / Symbols / GuidSymbol* / IDSymbol* if (xml.DocumentElement != null && xml.DocumentElement.Name == "CommandTable") { symbols = xml.DocumentElement["Symbols"]; } } catch { return(result); } if (symbols != null) { var guidSymbols = symbols.GetElementsByTagName("GuidSymbol"); foreach (XmlElement symbol in guidSymbols) { try { // go through all GuidSymbol elements... var value = symbol.Attributes["value"].Value; var name = symbol.Attributes["name"].Value; // preprocess value to remove the brackets: try { value = new Guid(value).ToString("D"); } catch { value = "-invalid-"; } var guid = new PackageGuid(name, value); result.Add(guid); var idSymbols = symbol.GetElementsByTagName("IDSymbol"); foreach (XmlElement i in idSymbols) { try { // go through all IDSymbol elements... guid.Ids.Add(Tuple.Create(i.Attributes["name"].Value, i.Attributes["value"].Value)); } catch { } } } catch { } } } return(result); }