// Token: 0x06000119 RID: 281 RVA: 0x000072F8 File Offset: 0x000054F8 internal void TryAddUpdatesParameterCopyMspFiles(string dirToCheck, string mspSourceDir, string destDir) { string text; string text2; SetupHelper.TryFindUpdates(dirToCheck, out text, out text2); if (text != null) { base.ParsedArguments["updatesdir"] = CommandLineParser.ParseSourceDir(dirToCheck); SetupLauncherHelper.CopyMspFiles(mspSourceDir, destDir); } if (text2 != null) { base.ParsedArguments["languagepack"] = CommandLineParser.ParseSourceFile(text2); } }
// Token: 0x0600000B RID: 11 RVA: 0x000021E8 File Offset: 0x000003E8 public override int Run() { ExitCode exitCode = this.SetupChecks(); if (exitCode == ExitCode.Error) { SetupLogger.Log(new LocalizedString("CurrentResult main.run:185: " + ExitCode.Error)); return(1); } if (SetupBase.TheApp.ParsedArguments.ContainsKey("updatesdir")) { if (base.IsExchangeInstalled) { this.ReportMessage(Strings.UpdatesNotOnFreshInstall); SetupLogger.Log(new LocalizedString("CurrentResult main.run:196: " + ExitCode.Error)); return(1); } if (SetupLauncherHelper.IsRestart(SetupBase.TheApp.ParsedArguments)) { SetupLauncherHelper.CopyMspFiles(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "Temp\\ExchangeSetup\\MspTemp"), Path.Combine(SetupHelper.WindowsDir, "Temp\\ExchangeSetup")); } else { ExitCode exitCode2 = this.CheckForUpdates(SetupBase.TheApp.ParsedArguments); if (exitCode2 != ExitCode.Success) { SetupLogger.Log(new LocalizedString("CurrentResult main.run:214: " + exitCode2)); return((int)exitCode2); } } } if (!this.CopyFiles()) { this.ReportMessage(Strings.FileCopyFailed(SetupBase.TheApp.SourceDir, Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "Temp\\ExchangeSetup"))); SetupLogger.Log(new LocalizedString("CurrentResult main.run:223: " + ExitCode.Error)); return(1); } int num = SetupLauncherHelper.LoadAssembly(SetupBase.SetupArgs, SetupBase.TheApp.ParsedArguments, SetupBase.TheApp, "Microsoft.Exchange.Setup.Console.dll", "Microsoft.Exchange.Setup.Console.Console"); if (num == 1) { this.ReportMessage(); this.ReportMessage(Strings.AdditionalErrorDetails); } SetupLogger.Log(new LocalizedString("CurrentResult main.run:235: " + num)); return(num); }
// Token: 0x060001F1 RID: 497 RVA: 0x0000BA34 File Offset: 0x00009C34 private void VerifyAndSetRegistry(object checkPath) { if (base.InvokeRequired) { base.Invoke(new UpdatesDownloadsPage.VerifyAndSetRegistryDelegate(this.VerifyAndSetRegistry), new object[] { checkPath }); return; } string text = (string)checkPath; string languagePackBundleFileName = Path.Combine(text, "LanguagePackBundle.exe"); bool flag = true; string value = string.Empty; if (File.Exists(languagePackBundleFileName)) { using (LanguagePackValidator languagePackValidator = new LanguagePackValidator(languagePackBundleFileName, this.localXMLVersioningPath, new Action <object>(this.UpdateDownloadUpdatesStatusBox))) { flag = languagePackValidator.Validate(); if (flag) { value = languagePackValidator.ValidatedFiles.FirstOrDefault((string x) => x.Equals(languagePackBundleFileName, StringComparison.InvariantCultureIgnoreCase)); } goto IL_C2; } } languagePackBundleFileName = null; IL_C2: bool flag2 = true; string text2 = string.Empty; if (Directory.Exists(text)) { string[] files = Directory.GetFiles(text, "*.msp", SearchOption.TopDirectoryOnly); if (files.Length != 0) { using (MspValidator mspValidator = new MspValidator(files, Path.Combine(this.sourceDir, "EXCHANGESERVER.msi"), languagePackBundleFileName, File.Exists(this.localXMLVersioningPath) ? this.localXMLVersioningPath : null, new Action <object>(this.UpdateDownloadUpdatesStatusBox))) { flag2 = mspValidator.Validate(); if (flag2) { text2 = mspValidator.ValidatedFiles.LastOrDefault((string x) => !string.IsNullOrEmpty(x) && MsiHelper.IsMspFileExtension(x)); } } } } bool flag3 = !string.IsNullOrEmpty(value); bool flag4 = !string.IsNullOrEmpty(text2); bool flag5 = false; if (flag && flag2) { flag5 = (text.Equals(this.saveToDirectory, StringComparison.InvariantCultureIgnoreCase) || this.MoveToSaveToPath()); } bool flag6 = false; if (flag5) { flag6 = this.SetRegistryKeyForBundle(); } if (flag6) { bool flag7 = false; string text3 = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "Temp\\ExchangeSetup\\MspTemp"); if (flag4) { MspUtility.UnpackMspCabs(Path.Combine(this.saveToDirectory, Path.GetFileName(text2)), text3); flag7 = SetupLauncherHelper.SetupRequiredFilesUpdated(SetupChecksFileConstant.GetSetupRequiredFiles(), SetupHelper.GetSetupRequiredFilesFromAssembly(text3), text3); } if (flag7 || flag3) { ExSetupUI.ExitApplication(ExitCode.Restart); } else if (flag4) { SetupLauncherHelper.CopyMspFiles(text3, Path.Combine(SetupHelper.WindowsDir, "Temp\\ExchangeSetup")); } this.UpdateDownloadUpdatesStatusBox(Strings.DownloadInstallationCompleted); base.SetWizardButtons(WizardButtons.Next); base.SetVisibleWizardButtons(WizardButtons.Next); return; } this.customProgressBarWithTitle.TitleOnly = true; this.UpdateDownloadUpdatesStatusBox(Strings.FinishedWithError(new LocalizedString(Logger.PathToFileLog))); base.SetVisibleWizardButtons(WizardButtons.Previous | WizardButtons.Next); base.SetWizardButtons(WizardButtons.Previous); }