public IsWiXService Create(string name, string fileId) { XElement serviceInstallElement = new XElement(ns + "ServiceInstall"); serviceInstallElement.SetAttributeValue("Id", "si" + IsWiXHelpers.GetMd5Hash(name)); serviceInstallElement.SetAttributeValue("Name", name); serviceInstallElement.SetAttributeValue("DisplayName", name); serviceInstallElement.SetAttributeValue("Description", name); serviceInstallElement.SetAttributeValue("ErrorControl", "normal"); serviceInstallElement.SetAttributeValue("Start", "auto"); serviceInstallElement.SetAttributeValue("Type", "ownProcess"); var elements = from a in _document.Descendants(ns + "File") where a.Attribute("Id").Value == fileId select a; XElement fileElement = elements.First(); fileElement.AddAfterSelf(serviceInstallElement); XElement serviceControlElement = new XElement(ns + "ServiceControl"); serviceControlElement.SetAttributeValue("Id", "sc" + IsWiXHelpers.GetMd5Hash(name)); serviceControlElement.SetAttributeValue("Name", name); serviceControlElement.SetAttributeValue("Start", "install"); serviceControlElement.SetAttributeValue("Stop", "both"); serviceControlElement.SetAttributeValue("Remove", "both"); serviceControlElement.SetAttributeValue("Wait", "yes"); serviceInstallElement.AddAfterSelf(serviceControlElement); IsWiXServiceInstall isWiXServiceInstall = new IsWiXServiceInstall(_document, serviceInstallElement); IsWiXServiceControl isWiXServiceControl = new IsWiXServiceControl(_document, serviceControlElement); IsWiXService isWiXService = new IsWiXService() { ServiceInstall = isWiXServiceInstall, ServiceControl = isWiXServiceControl }; this.Add(isWiXService); return(isWiXService); }
public IsWiXShortCut Create(string name, string fileId, string directory) { XElement shortcutElement = new XElement(ns + "Shortcut"); string scID = "sc" + Guid.NewGuid().ToString().ToUpper().Replace("-", string.Empty); shortcutElement.SetAttributeValue("Id", "sc" + IsWiXHelpers.GetMd5Hash(directory + name)); shortcutElement.SetAttributeValue("Name", name); shortcutElement.SetAttributeValue("Directory", directory); var elements = from a in _documentManager.Document.Descendants(ns + "File") where a.Attribute("Id").Value == fileId select a; XElement fileElement = elements.First(); fileElement.Add(shortcutElement); IsWiXShortCut iswixShortCut = new IsWiXShortCut(_documentManager.Document, shortcutElement); this.Add(iswixShortCut); return(iswixShortCut); }