public static int Main(string[] args)
 {
     Application.SetCompatibleTextRenderingDefault(false);
     ExSetupUI.UpdateThreadUICulture();
     SplashScreen.SplashInstance.ShowSplash();
     ExSetupUI.SetMessageBoxHelper();
     ExSetupUI.SystemParametersInfo(4107, 0, 1, 2);
     return(SetupBase.MainCore <ExSetupUI>(args, new SetupLoggerImpl()));
 }
        // Token: 0x060001D4 RID: 468 RVA: 0x0000AD58 File Offset: 0x00008F58
        private static void ThrowAssemblyLoadFileNotFoundException(SetupBase theApp, string exSetupGUIDllLocation)
        {
            string setupArgs = string.Empty;

            if (SetupBase.SetupArgs != null && SetupBase.SetupArgs.Length > 0)
            {
                setupArgs = string.Join(".", SetupBase.SetupArgs);
            }
            SetupLogger.Log(Strings.AssemblyLoadFileNotFound(exSetupGUIDllLocation, setupArgs, theApp.SourceDir, theApp.TargetDir, theApp.IsExchangeInstalled));
            throw new AssemblyLoadFileNotFoundException();
        }
 // Token: 0x0600004D RID: 77 RVA: 0x00003618 File Offset: 0x00001818
 public CopyFilesPage(SetupBase theApp)
 {
     this.sourceDir  = Path.Combine(theApp.ParsedArguments["sourcedir"].ToString(), "Setup\\ServerRoles\\Common");
     this.fileCopier = new FileCopier(this.sourceDir, Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
     this.fileCopier.FileCopierProgressEvent       += this.FileCopier_ProgressChangedEvent;
     this.fileCopier.FileCopierCompletedEvent      += this.FileCopier_CompletedEvent;
     this.fileCopier.FileCopierBeforeFileCopyEvent += this.FileCopier_FileCopierBeforeFileCopyEvent;
     this.fileCopier.FileCopierCancelEvent         += this.FileCopier_CancelEvent;
     this.fileCopier.FileCopierErrorEvent          += new FileCopierErrorHandler(this.FileCopierUpdatesStatus);
     this.InitializeComponent();
     base.WizardCancel       += this.CopyFilePage_WizardCancel;
     base.PageTitle           = Strings.CopyFilesPageTitle;
     this.copyFilesLabel.Text = Strings.CopyFilesText;
 }
 // Token: 0x06000162 RID: 354 RVA: 0x0000802C File Offset: 0x0000622C
 public InitializingSetupPage(IList <SetupWizardPage> pages, SetupBase theApp)
 {
     this.pages  = pages;
     this.theApp = theApp;
     this.InitializeComponent();
     base.PageTitle              = Strings.InitializingSetupPageTitle;
     base.WizardCancel          += this.InitializingSetupPage_WizardCancel;
     this.progressTimer.Tick    += this.ProgressTimer_Tick;
     this.progressTimer.Interval = 100;
     this.progress = 0;
     this.backgroundWorker.WorkerReportsProgress      = true;
     this.backgroundWorker.WorkerSupportsCancellation = true;
     this.backgroundWorker.DoWork             += this.BackgroundWorker_DoWork;
     this.backgroundWorker.RunWorkerCompleted += this.BackgroundWorker_RunWorkerCompleted;
     this.EnableNextAutoClick = true;
 }
Exemple #5
0
 // Token: 0x060001E1 RID: 481 RVA: 0x0000B0D8 File Offset: 0x000092D8
 public UpdatesDownloadsPage(SetupBase theApp)
 {
     this.webFileDownloader = new WebFileDownloader();
     this.webFileDownloader.DownloadProgressEvent  += this.WebFileDownloader_ProgressChangedEvent;
     this.webFileDownloader.DownloadCompletedEvent += this.WebFileDownloader_DownloadCompletedEvent;
     this.webFileDownloader.DownloaderErrorEvent   += new DownloaderErrorHandler(this.UpdateDownloadUpdatesStatusBox);
     this.webFileDownloader.DownloadCancelEvent    += this.WebFileDownloader_DownloadCancelEvent;
     this.InitializeComponent();
     base.Name          = "UpdatesDownloadsPage";
     base.SetActive    += this.UpdatesDownloadsPage_SetActive;
     base.CheckLoaded  += this.UpdatesDownloadsPage_CheckLoaded;
     base.WizardCancel += this.UpdatesDownloadsPage_WizardCancel;
     this.UnableContactServerTextBox.LinkClicked += this.UnableContactServerTextBox_LinkClicked;
     base.Visible = base.PageVisible;
     this.UnableContactServerTextBox.Visible = false;
     this.sourceDir = theApp.ParsedArguments["sourcedir"].ToString();
 }
Exemple #6
0
        /// <summary>
        /// 检查数据库表是否存在,不存在创建新表
        /// </summary>
        public void ExistTableObjects()
        {
            ArrayList     list          = new ArrayList();
            List <string> tableNameList = SetupBase.ExistsTableObjects();

            foreach (var item in tableList)
            {
                if (!tableNameList.Contains(item.Key))
                {
                    list.Add(item.Value);
                }
            }
            if (list.Count > 0)
            {
                SetupBase.CreateTableObjects(list);
            }
        }
        // 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);
        }
Exemple #8
0
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="tableObjects"></param>
        /// <param name="tableName"></param>
        public void AddTableObjects(Dictionary <string, string> tableObjects, string tableName)
        {
            ArrayList list = new ArrayList();
            var       v    = this.tableList[tableName];

            PropertyInfo[] propertys = v.GetType().GetProperties();
            foreach (PropertyInfo property in propertys)
            {
                if (!tableObjects.ContainsKey("Id") && property.Name.Equals("Id"))
                {
                    continue;
                }
                property.SetValue(v, Convert.ChangeType(tableObjects[property.Name], property.PropertyType));
            }
            list.Add(v);
            if (tableObjects.ContainsKey("Id"))
            {
                SetupBase.UpdateTableObjects(list);
            }
            else
            {
                SetupBase.AddTableObjects(list);
            }
        }
        // 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);
                }
            }
        }
Exemple #10
0
        public override void Initialize <C>(ParentObject item, Func <ParentObject, int> creator, SetupBase <C> setupBase)
        {
            base.Initialize(item, creator, setupBase);

            var c = new ValueObjectSetup();

            c.Initialize(item.ComplexValue);
            ComplexValue = c;
        }
Exemple #11
0
 public static int Main(string[] args)
 {
     return(SetupBase.MainCore <ExSetup>(args, new SetupLoggerImpl()));
 }
Exemple #12
0
 /// <summary>
 /// 查询指定数据库表的数据
 /// </summary>
 /// <param name="tableName"></param>
 /// <returns></returns>
 public List <Dictionary <string, string> > FindTableObjects(string tableName)
 {
     return(SetupBase.SelectTableObjectsShow(tableList[tableName]));
 }
Exemple #13
0
 /// <summary>
 /// 查询名称
 /// </summary>
 /// <param name="tableName"></param>
 /// <returns></returns>
 public Dictionary <string, string> FindTableName(string tableName)
 {
     return(SetupBase.FindTableName(tableList[tableName]));
 }
Exemple #14
0
 /// <summary>
 /// 根据ID删除表数据
 /// </summary>
 /// <param name="id"></param>
 /// <param name="tableName"></param>
 public void DelTableObjects(string id, string tableName)
 {
     SetupBase.DeleteTableObjects(id, tableName);
 }
Exemple #15
0
 /// <summary>
 /// 根据ID获取数据
 /// </summary>
 /// <param name="id"></param>
 /// <param name="tableName"></param>
 /// <returns></returns>
 public Dictionary <string, string> GetTableObjects(string id, string tableName)
 {
     return(SetupBase.GetTableObjectsById(id, tableList[tableName]));
 }