// Token: 0x06000111 RID: 273 RVA: 0x00006FE4 File Offset: 0x000051E4 public override int Run() { ExSetupUI.exitCode = (ExitCode)base.Run(); if (ExSetupUI.exitCode == ExitCode.Success) { bool flag = false; if (base.ParsedArguments.ContainsKey("mode")) { SetupOperations setupOperations = (SetupOperations)base.ParsedArguments["mode"]; if (setupOperations == SetupOperations.Install || setupOperations == SetupOperations.Upgrade) { flag = SetupLauncherHelper.IsRestart(base.ParsedArguments); if (flag) { this.TryAddUpdatesParameterCopyMspFiles(SetupLauncherHelper.GetUpdatesDirFromRegistry(), Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "Temp\\ExchangeSetup\\MspTemp"), Path.Combine(SetupHelper.WindowsDir, "Temp\\ExchangeSetup")); } } } SetupWizard mainForm = new SetupWizard(this, !flag, SetupLauncherHelper.IsExchangeInstalled()); if (ExSetupUI.exitCode == ExitCode.Success) { SplashScreen.SplashInstance.Hide(); Application.Run(mainForm); } SplashScreen.SplashInstance.CloseSplash(); } return((int)ExSetupUI.exitCode); }
// Token: 0x06000168 RID: 360 RVA: 0x000081E4 File Offset: 0x000063E4 private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker backgroundWorker = sender as BackgroundWorker; if (backgroundWorker.CancellationPending) { e.Cancel = true; return; } SetupWizard.PopulateWizard(this.pages, this.theApp); }
// Token: 0x060001CF RID: 463 RVA: 0x0000A9E0 File Offset: 0x00008BE0 public SetupWizard(SetupBase theApp, bool updates, bool isExchangeInstalled) { base.Name = "SetupWizard"; this.Text = Strings.SetupWizardCaption; this.InitializeComponent(); base.SetBtnNextText(Strings.btnNext); base.SetBtnPreviousText(Strings.btnPrevious); base.SetCancelMessageBoxMessage(Strings.CancelMessageBoxMessage); base.SetPrintErrorMessageBoxMessage(Strings.SetupFailedPrintDocument); base.SetBrowserLaunchErrorMessage(Strings.BrowserLaunchError); int num = 23; if (num > 0) { base.SetExchangeServerLabel(Strings.MESICumulativeUpdate(Strings.MicrosoftExchangeServer, num)); } else { base.SetExchangeServerLabel(Strings.MESI(Strings.MicrosoftExchangeServer)); } HelpProvider.Initialize(HelpProvider.HelpAppName.Setup); base.HelpUrlGenerator = this; SetupWizard.IsPartiallyConfigured = this.IsRolesPartiallyConfigured(isExchangeInstalled); if (SetupWizard.IsPartiallyConfigured && ((SetupOperations)theApp.ParsedArguments["mode"] == SetupOperations.Install || (SetupOperations)theApp.ParsedArguments["mode"] == SetupOperations.Upgrade)) { SetupWizard.PopulateWizard(base.Pages, theApp); return; } if (theApp.ParsedArguments.ContainsKey("mode") && (((SetupOperations)theApp.ParsedArguments["mode"] == SetupOperations.Install && !isExchangeInstalled) || (SetupOperations)theApp.ParsedArguments["mode"] == SetupOperations.Upgrade)) { if (updates) { base.Pages.Add(new CheckForUpdatesPage()); base.Pages.Add(new UpdatesDownloadsPage(theApp)); } base.Pages.Add(new CopyFilesPage(theApp)); base.Pages.Add(new InitializingSetupPage(base.Pages, theApp)); return; } SetupWizard.PopulateWizard(base.Pages, theApp); }
// Token: 0x060001D3 RID: 467 RVA: 0x0000ABC4 File Offset: 0x00008DC4 internal static void PopulateWizard(IList <SetupWizardPage> pages, SetupBase theApp) { AssemblyResolver[] array = null; string text = string.Empty; try { if (SetupWizard.setupGUIAssembly == null) { text = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); array = AssemblyResolver.Install(new AssemblyResolver[] { new FileSearchAssemblyResolver { SearchPaths = new string[] { text }, Recursive = true } }); text = Path.Combine(text, "Microsoft.Exchange.Setup.GUI.dll"); object[] parameters = new object[] { pages, theApp }; SetupWizard.setupGUIAssembly = Assembly.LoadFile(text); foreach (Type type in SetupWizard.setupGUIAssembly.GetTypes()) { if (type.IsClass && type.FullName == "Microsoft.Exchange.Setup.GUI.SetupWizard") { object obj = Activator.CreateInstance(type); MethodInfo method = type.GetMethod("Main"); method.Invoke(obj, parameters); break; } } } } catch (FileNotFoundException e) { SetupLogger.LogError(e); SetupWizard.ThrowAssemblyLoadFileNotFoundException(theApp, text); } catch (Exception ex) { SetupLogger.LogError(ex); if (ex.InnerException != null && ex.InnerException is FileNotFoundException) { SetupWizard.ThrowAssemblyLoadFileNotFoundException(theApp, text); } throw; } finally { if (array != null) { AssemblyResolver.Uninstall(array); } } }