Пример #1
0
        public COMItem(XElement node, VerifyGroup group)
            : base(node, group)
        {
            ProgID = GetAttributeValue("progID");

            CLSID = new Guid(GetAttributeValue("clsID"));
        }
Пример #2
0
        public RegistryItem(XElement node, VerifyGroup group)
            : base(node, group)
        {
            SubKey = GetAttributeValue("subkey");

            Key = GetAttributeValue("key");
        }
Пример #3
0
        public UnintallItem(XElement node, VerifyGroup group)
            : base(node, group)
        {
            ProductName = GetAttributeValue("productName");

            CheckValue = node.Value;
        }
Пример #4
0
        public GACAssemblyItem(XElement node, VerifyGroup group)
            : base(node, group)
        {
            AssemblyName = GetAttributeValue("assemblyName");

            AssemblyVersion = GetAttributeValue("assemblyVersion");
        }
Пример #5
0
        public FileItem(XElement node, VerifyGroup group)
            : base(node, group)
        {
            Type = GetAttributeValue("type").ToUpper();

            if (Type != "FILE" && Type != "FOLDER")
            {
                throw new Exception("Config Error: In FileGroup, Type should be File or Folder");
            }
        }
Пример #6
0
        public ErrorItem(XElement node, VerifyGroup group)
            : base(node, group)
        {
            XAttribute informationAttr = node.Attribute("information");

            if (informationAttr != null)
            {
                Information = informationAttr.Value;
            }
        }
Пример #7
0
        public DatabaseItem(XElement node, VerifyGroup group)
            : base(node, group)
        {
            ServerName = GetAttributeValue("server");

            DbName = GetAttributeValue("dbName");

            Uid = GetAttributeValue("uid");

            Pwd = GetAttributeValue("pwd");

            SqlQuery = GetAttributeValue("sqlQuery");
        }
Пример #8
0
        public VersionItem(XElement node, VerifyGroup group)
            : base(node, group)
        {
            Path = GetAttributeValue("path");

            Type = GetAttributeValue("type").ToUpper();

            if (Type != File && Type != Directory)
            {
                throw new Exception("Config Error: In VersionGroup, type should be file or directory");
            }

            VersionType = GetAttributeValue("versionType").ToUpper();

            if (VersionType != "PRODUCTVERSION" && VersionType != "FILEVERSION")
            {
                throw new Exception("Config Error: In DllGroup, versionType should be ProductVersion or FileVersion");
            }

            // If file to verify is exist
            if (Type == File)
            {
                var items = VerifyGroup.VerifyItems.OfType<VersionItem>()
                                       .Where
                                       (
                                           versionItem => versionItem.Path == Path
                                                       && versionItem.Type == File
                                                       && versionItem.VersionType == VersionType
                                                       && VerifyGroup.VerifyItems.IndexOf(versionItem) != VerifyGroup.VerifyItems.Count - 1
                                       );

                if (items.Count() > 0)
                {
                    VerifyGroup.VerifyItems.Remove(items.First());
                }
            }

            // Change Directory to files
            if (Type == Directory && FileHelper.IsExistsFolder(Path))
            {
                var files = FileHelper.GetAllFiles(Path).Where(f => f.Value.ToLower().EndsWith(".dll") || f.Value.ToLower().EndsWith(".exe"));

                foreach (var file in files)
                {
                    // skip the file if exist
                    if (! VerifyGroup.VerifyItems.OfType<VersionItem>()
                                    .Any
                                        (
                                            versionItem => versionItem.Path == file.Key
                                                        && versionItem.Type == File
                                                        && versionItem.VersionType == VersionType
                                        )
                                    )
                    {
                        var fileNode = new XElement("item");
                        fileNode.Add(new XAttribute("name", file.Value));
                        fileNode.Add(new XAttribute("path", file.Key));
                        fileNode.Add(new XAttribute("type", File));
                        fileNode.Add(new XAttribute("versionType", VersionType));
                        fileNode.Value = CheckValue;

                        VerifyGroup.GenerateVerifyItem(VerifyType.Version, fileNode);
                    }
                }

                VerifyGroup.VerifyItems.Remove(this);
            }
        }
Пример #9
0
 public EventLogItem(XElement node, VerifyGroup group)
     : base(node, group)
 {
     LogName = GetAttributeValue("logName");
 }
Пример #10
0
 public InstallationItem(XElement node, VerifyGroup group)
     : base(node, group)
 {
 }
Пример #11
0
 public WinServiceItem(XElement node, VerifyGroup group)
     : base(node, group)
 {
     ServiceName = GetAttributeValue("serviceName");
 }