Esempio n. 1
0
        public void ExecuteQueue()
        {
            //UpdateList(true);
            QueueCommandCollection collection = QueueCommandCollection.Load();

            // close all MP processes without message box, because executing the queue is called from within MP from GUI plugin which warns the user already
            if (collection.Items.Count > 0)
            {
                Util.KillAllMediaPortalProcesses(true);
            }
            foreach (QueueCommand item in collection.Items)
            {
                switch (item.CommandEnum)
                {
                case CommandEnum.Install:
                {
                    PackageClass packageClass = MpeCore.MpeInstaller.KnownExtensions.Get(item.TargetId,
                                                                                         item.TargetVersion.
                                                                                         ToString());
                    if (packageClass == null)
                    {
                        continue;
                    }
                    splashScreen.SetInfo("Installing " + packageClass.GeneralInfo.Name);
                    string newPackageLoacation = ExtensionUpdateDownloader.GetPackageLocation(packageClass, Client_DownloadProgressChanged, Client_DownloadFileCompleted);
                    InstallFile(newPackageLoacation, true, false);
                }
                break;

                case CommandEnum.Uninstall:
                {
                    PackageClass packageClass = MpeCore.MpeInstaller.InstalledExtensions.Get(item.TargetId);
                    if (packageClass == null)
                    {
                        continue;
                    }
                    splashScreen.SetInfo("UnInstalling " + packageClass.GeneralInfo.Name);
                    UnInstall dlg = new UnInstall();
                    dlg.Execute(packageClass, true);
                }
                break;

                default:
                    break;
                }
            }
            collection.Items.Clear();
            collection.Save();
        }
Esempio n. 2
0
        public void ExecuteQueue()
        {
            //UpdateList(true);
            QueueCommandCollection collection = QueueCommandCollection.Load();

            foreach (QueueCommand item in collection.Items)
            {
                switch (item.CommandEnum)
                {
                case CommandEnum.Install:
                {
                    PackageClass packageClass = MpeCore.MpeInstaller.KnownExtensions.Get(item.TargetId,
                                                                                         item.TargetVersion.
                                                                                         ToString());
                    if (packageClass == null)
                    {
                        continue;
                    }
                    splashScreen.SetInfo("Installing " + packageClass.GeneralInfo.Name);
                    string newPackageLoacation = GetPackageLocation(packageClass);
                    InstallFile(newPackageLoacation, true, false);
                }
                break;

                case CommandEnum.Uninstall:
                {
                    PackageClass packageClass = MpeCore.MpeInstaller.InstalledExtensions.Get(item.TargetId);
                    if (packageClass == null)
                    {
                        continue;
                    }
                    splashScreen.SetInfo("UnInstalling " + packageClass.GeneralInfo.Name);
                    UnInstall dlg = new UnInstall();
                    dlg.Execute(packageClass, true);
                }
                break;

                default:
                    break;
                }
            }
            collection.Items.Clear();
            collection.Save();
        }