Exemple #1
0
        /// <summary>
        /// Extract the updater from the downloaded zip
        /// </summary>
        private void ExtractUpdater()
        {
            var files = new DirectoryInfo(InstallDirectory).GetFiles();

            foreach (var file in files)
            {
                if (!file.Name.ToLower().Contains(UpdatedZipName.ToLower()))
                {
                    continue;
                }

                using (ZipArchive archive = ZipFile.OpenRead(file.FullName))
                {
                    foreach (ZipArchiveEntry entry in archive.Entries)
                    {
                        string destinationPath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, entry.FullName));
                        if (destinationPath.StartsWith(Environment.CurrentDirectory, StringComparison.Ordinal))
                        {
                            if (new FileInfo(destinationPath).Name != "Updater.exe")
                            {
                                continue;
                            }

                            if (File.Exists(destinationPath))
                            {
                                File.Delete(destinationPath);
                            }

                            entry.ExtractToFile(destinationPath);
                            Logger.Log($"Extracting file: {destinationPath}");
                        }
                    }
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Extract the updater from the downloaded zip
        /// </summary>
        private void ExtractUpdater()
        {
            var files = Directory.GetFiles(InstallDirectory);

            foreach (var file in files)
            {
                if (!file.EndsWith(".zip") && !file.EndsWith(".rar") && !file.EndsWith(".7z"))
                {
                    continue;
                }

                if (!file.ToLower().Contains(UpdatedZipName.ToLower()))
                {
                    continue;
                }

                Zip z = new Zip(file);
                z.Extract(InstallDirectory, Ionic.Zip.ExtractExistingFileAction.OverwriteSilently);

                /*Zip z = new Zip(file);
                 * z.Extract(InstallDirectory, Ionic.Zip.ExtractExistingFileAction.OverwriteSilently);
                 *
                 * if (DeleteDownloadZip)
                 * {
                 *  if (File.Exists(InstallDirectory + "\\" + UpdatedZipName))
                 *      File.Delete(InstallDirectory + "\\" + UpdatedZipName);
                 * }*/
                /*using (ZipArchive archive = System.IO.Compression.ZipFile.OpenRead(file))
                 * {
                 *  foreach (ZipArchiveEntry entry in archive.Entries)
                 *  {
                 *      //if (!entry.FullName.ToLower().Contains("update"))
                 *//*if (!entry.FullName.ToLower().Contains(UpdatedZipName))
                 *          continue;*//*
                 *
                 *      string destinationPath = Path.GetFullPath(Path.Combine(InstallDirectory, entry.FullName));
                 *      if (destinationPath.StartsWith(InstallDirectory, StringComparison.Ordinal))
                 *      {
                 *          if (File.Exists(destinationPath))
                 *              File.Delete(destinationPath);
                 *
                 *          entry.ExtractToFile(destinationPath, true);
                 *      }
                 *  }
                 * }*/
            }
        }
Exemple #3
0
        /// <summary>
        /// Delete all files related to updater. Used to keep program directory clean
        /// </summary>
        public void DeleteUpdater()
        {
            if (File.Exists(InstallDirectory + "\\" + UpdaterExeName))
            {
                File.Delete(InstallDirectory + "\\" + UpdaterExeName);
            }

            var files = Directory.GetFiles(InstallDirectory);

            foreach (var file in files)
            {
                FileInfo f = new FileInfo(file);
                if (f.Name.ToLower().Replace(".", "").Replace(" ", "") == UpdatedZipName.ToLower().Replace(".", "").Replace(" ", ""))
                {
                    File.Delete(file);
                    break;
                }
            }
        }
        /// <summary>
        /// Delete all files related to updater. Used to keep program directory clean
        /// </summary>
        private void DeleteUpdater()
        {
            if (File.Exists(Environment.CurrentDirectory + "\\" + UpdaterExeName))
            {
                File.Delete(Environment.CurrentDirectory + "\\" + UpdaterExeName);
            }

            var files = Directory.GetFiles(Environment.CurrentDirectory);

            foreach (var file in files)
            {
                FileInfo f = new FileInfo(file);
                if (f.Name.ToLower().Replace(".", "").Replace(" ", "") == UpdatedZipName.ToLower().Replace(".", "").Replace(" ", ""))
                {
                    File.Delete(file);
                    break;
                }
            }
        }