示例#1
0
        private void CheckUpdate()
        {
            var directory = new DirectoryHash(
                Properties.Settings.Default.Mask,
                Utils.ConvertToArray(Properties.Settings.Default.FilesExclude));

            var needUpdate = _client.GetDllsForUpdate();
            var files = directory.NeedUpdate(needUpdate, Utils.ApplicationPath);

            var directoryPath = Properties.Settings.Default.UpdatePath;

            Directory.CreateDirectory(directoryPath);
            foreach (var fileName in files)
            {
                var filePath = Path.Combine(directoryPath, fileName);
                File.WriteAllBytes(filePath, _client.DllData(fileName));
            }

            if (files.Length == 0)
                return;

            _update = files.Length > 0;

            Stop();
        }
 public Dictionary<string, string> GetDllsForUpdate()
 {
     Dictionary<string,string> result;
     try
     {
         var directory = new DirectoryHash(
             Properties.Settings.Default.Mask,
                                           Utils.ConvertToArray(Properties.Settings.Default.FilesExclude));
         result = directory.GetFilesHash(Utils.ApplicationPath);
     }
     catch (Exception exc)
     {
         throw new FaultException<ServiceException>(new ServiceException(exc, ServiceExceptionType.CheckDllVersion));
     }
     return result;
 }