Ejemplo n.º 1
0
 private static void DownloadUpdates(string downloadPath, UIElement control)
 {
     if (Directory.Exists(AuxiliaryDirectory))
     {
         OnUpdateDialogClose(null, null);
     }
     CreateDirectory(AuxiliaryDirectory);
     if (DownloadSpecificFile(downloadPath + versionFileName + compressedFilesExtension,
                              AuxiliaryDirectory + versionFileName))
     {
         var newerVersion = DeserializeFromXml(AuxiliaryDirectory + versionFileName);
         if (NewerVersion(newerVersion.VersionData.VersionName))
         {
             var nightlyDownload = false;
             if (downloadPath == NaroNightlyLink)
             {
                 nightlyDownload = true;
             }
             UpdaterWindowsManager.ShowWindow(newerVersion.VersionData.VersionChanges, _actionGraph,
                                              nightlyDownload, control);
             UpdaterWindowsManager.DownloadUpdatesWindow.Closed += OnUpdateDialogClose;
             UpdaterWindowsManager.DownloadWindowLoop();
         }
         else
         {
             DeleteDirectory(AuxiliaryDirectory);
         }
     }
 }
Ejemplo n.º 2
0
        private static void OnUpdateDialogClose(object sender, EventArgs e)
        {
            var currentVersionData  = DeserializeFromXml(versionFileName);
            var currentVersionFiles = currentVersionData.ListOfFiles;
            var newerVersion        = DeserializeFromXml(AuxiliaryDirectory + versionFileName);

            DownloadUpdateFiles(_pathToDownload, currentVersionFiles, newerVersion);
            Log.Info("Ended updater logic");
            if (Directory.Exists(HelperDownloadDirectory))
            {
                UpdaterWindowsManager.ShowDownloadsFinishedWindow(new List <string>
                {
                    "",
                    "Updates have been downloaded.",
                    "The updates will apply the next time you start NaroCAD."
                });
                UpdaterWindowsManager.DownloadFinishedLoop();
            }
        }
Ejemplo n.º 3
0
        public static void Main(object data)
        {
            var logic = (UpdateLogic)data;

            Log.Info("Started updater logic");
            CalculateLengthOfNaroVersions();
            DeleteDirectory(FailedUpdateDirectory);
            VersionObject currentVersionData;

            try
            {
                currentVersionData = DeserializeFromXml(versionFileName);
            }
            catch
            {
                Log.Error("The versioning file is corrupt.");
                DeleteDirectory(AuxiliaryDirectory);
                DeleteFile(HelperVersioningFile);
                NaroMessage.Show("The versioning file is corrupt. It is recomanded to download and reinstall NaroCAD.");
                return;
            }
            CalculateNaroVersion(currentVersionData);
            if (MainUpdateWasJustDone())
            {
                if (AttemptToFinalizeUpdate(currentVersionData.GetListOfFiles(),
                                            DeserializeFromXml(HelperVersioningFile).GetListOfFiles()))
                {
                    Log.Info("NaroCAD update successfully compleated");
                    UpdaterWindowsManager.ShowDownloadsFinishedWindow(new List <string>
                    {
                        "",
                        "Update Successfully Compleated",
                        "Enjoy NaroCAD"
                    });
                    UpdaterWindowsManager.DownloadFinishedLoop();
                }
            }
            AttemptToDownloadUpdateFiles(_control);
        }