private void ListRefreshThread(LoadingDialogInterface dialogInterface) { dialogInterface.SetSubProgressVisible(true); var uninstallerEntries = ApplicationUninstallerFactory.GetUninstallerEntries(x => { dialogInterface.SetMaximum(x.TotalCount); dialogInterface.SetProgress(x.CurrentCount, x.Message); var inner = x.Inner; if (inner != null) { dialogInterface.SetSubMaximum(inner.TotalCount); dialogInterface.SetSubProgress(inner.CurrentCount, inner.Message); } else { dialogInterface.SetSubMaximum(-1); dialogInterface.SetSubProgress(0, string.Empty); } if (dialogInterface.Abort) { throw new OperationCanceledException(); } }); if (!string.IsNullOrEmpty(Program.InstalledRegistryKeyName)) { uninstallerEntries = uninstallerEntries .Where(x => x.RegistryKeyName != Program.InstalledRegistryKeyName); } AllUninstallers = uninstallerEntries.ToList(); dialogInterface.SetMaximum(9); dialogInterface.SetProgress(9, Localisable.Progress_Finishing); dialogInterface.SetSubMaximum(5); dialogInterface.SetSubProgress(2, Localisable.Progress_Finishing_Icons); try { _iconGetter.UpdateIconList(AllUninstallers); } catch (Exception ex) { PremadeDialogs.GenericError(ex); } dialogInterface.SetSubProgress(4, Localisable.Progress_Finishing_Startup); try { ReassignStartupEntries(false); } catch (Exception ex) { PremadeDialogs.GenericError(ex); } //dialogInterface.SetSubProgress(3, string.Empty); }
private static IList <ApplicationUninstallerEntry> QueryApps(bool isQuiet, bool isUnattended, bool isVerbose) { ConfigureUninstallTools(); Console.WriteLine("Looking for applications..."); string previousMain = null; var result = ApplicationUninstallerFactory.GetUninstallerEntries(report => { if (previousMain != report.Message) { previousMain = report.Message; Console.WriteLine(report.Message); } if (isVerbose) { if (!string.IsNullOrEmpty(report.Inner?.Message)) { Console.Write("-> "); Console.WriteLine(report.Inner.Message); } } }); Console.WriteLine("Found {0} applications.", result.Count); return(result); }
private void ListRefreshThread(LoadingDialogInterface dialogInterface) { dialogInterface.SetSubProgressVisible(true); var progressMax = 0; var uninstallerEntries = ApplicationUninstallerFactory.GetUninstallerEntries(x => { progressMax = x.TotalCount + 2; dialogInterface.SetMaximum(progressMax); dialogInterface.SetProgress(x.CurrentCount, x.Message); var inner = x.Inner; if (inner != null) { dialogInterface.SetSubMaximum(inner.TotalCount); dialogInterface.SetSubProgress(inner.CurrentCount, inner.Message); } else { dialogInterface.SetSubMaximum(-1); dialogInterface.SetSubProgress(0, string.Empty); } if (dialogInterface.Abort) { throw new OperationCanceledException(); } }); dialogInterface.SetProgress(progressMax - 1, Localisable.Progress_Finishing_Startup); dialogInterface.SetSubMaximum(StartupManager.Factories.Count); var i = 0; var startupEntries = new List <StartupEntryBase>(); foreach (var factory in StartupManager.Factories) { dialogInterface.SetSubProgress(i++, factory.Key); try { startupEntries.AddRange(factory.Value()); } catch (Exception ex) { PremadeDialogs.GenericError(ex); } } dialogInterface.SetProgress(progressMax, Localisable.Progress_Finishing, true); dialogInterface.SetSubMaximum(3); dialogInterface.SetSubProgress(0, string.Empty); if (!string.IsNullOrEmpty(Program.InstalledRegistryKeyName)) { uninstallerEntries.RemoveAll(x => PathTools.PathsEqual(x.RegistryKeyName, Program.InstalledRegistryKeyName)); } AllUninstallers = uninstallerEntries; dialogInterface.SetSubProgress(1, Localisable.MainWindow_Statusbar_RefreshingStartup); try { ReassignStartupEntries(false, startupEntries); } catch (Exception ex) { PremadeDialogs.GenericError(ex); } dialogInterface.SetSubProgress(2, Localisable.Progress_Finishing_Icons); try { _iconGetter.UpdateIconList(AllUninstallers); } catch (Exception ex) { PremadeDialogs.GenericError(ex); } dialogInterface.SetSubProgressVisible(false); }
private void ListRefreshThread(LoadingDialogInterface dialogInterface) { dialogInterface.SetSubProgressVisible(true); var progressMax = 0; var uninstallerEntries = ApplicationUninstallerFactory.GetUninstallerEntries(x => { progressMax = x.TotalCount + 1; dialogInterface.SetMaximum(progressMax); dialogInterface.SetProgress(x.CurrentCount, x.Message); var inner = x.Inner; if (inner != null) { dialogInterface.SetSubMaximum(inner.TotalCount); dialogInterface.SetSubProgress(inner.CurrentCount, inner.Message); } else { dialogInterface.SetSubMaximum(-1); dialogInterface.SetSubProgress(0, string.Empty); } if (dialogInterface.Abort) { throw new OperationCanceledException(); } }); dialogInterface.SetProgress(progressMax, Localisable.Progress_Finishing, true); dialogInterface.SetSubMaximum(2); dialogInterface.SetSubProgress(0, string.Empty); if (!string.IsNullOrEmpty(Program.InstalledRegistryKeyName)) { uninstallerEntries.RemoveAll( x => PathTools.PathsEqual(x.RegistryKeyName, Program.InstalledRegistryKeyName)); } AllUninstallers = uninstallerEntries; dialogInterface.SetSubProgress(1, Localisable.Progress_Finishing_Icons); try { _iconGetter.UpdateIconList(AllUninstallers); } catch (Exception ex) { PremadeDialogs.GenericError(ex); } dialogInterface.SetSubProgressVisible(false); // Fixes loading gettings stuck on finalizing if main window is minimized _reference.SafeInvoke(() => { if (_reference.WindowState == FormWindowState.Minimized) { _reference.WindowState = FormWindowState.Normal; } }); }