示例#1
0
        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);
        }
示例#2
0
        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);
        }