public override void Run()
        {
            ResourceService.RegisterNeutralImages(Properties.Resources.ResourceManager);
            ResourceService.RegisterNeutralStrings(Strings.ResourceManager);

            Workbench.WorkbenchInitialized += (sender, e) =>
            {
                PreviewSettings.UseAjaxViewer   = PropertyService.Get(ConfigProperties.PreviewViewerType, "AJAX") == "AJAX"; //NOXLATE
                PreviewSettings.UseLocalPreview = PropertyService.Get(ConfigProperties.UseLocalPreview, ConfigProperties.DefaultUseLocalPreview);

                var urlLauncher = ServiceRegistry.GetService <UrlLauncherService>();
                var vcMgr       = ServiceRegistry.GetService <ViewContentManager>();
                ResourcePreviewerFactory.RegisterPreviewer("Maestro.Http", new LocalMapPreviewer(new DefaultResourcePreviewer(urlLauncher), urlLauncher, vcMgr)); //NOXLATE
                ResourcePreviewerFactory.RegisterPreviewer("Maestro.Rest", new LocalMapPreviewer(new DefaultResourcePreviewer(urlLauncher), urlLauncher, vcMgr)); //NOXLATE
                //A stub previewer does nothing, but will use local map previews for applicable resources if the configuration
                //property is set
                ResourcePreviewerFactory.RegisterPreviewer("Maestro.LocalNative", new LocalMapPreviewer(new StubPreviewer(), urlLauncher, vcMgr)); //NOXLATE

                ServiceRegistry.GetService <NewItemTemplateService>().InitUserTemplates();
                var wb = Workbench.Instance;

                Themes.CurrentTheme = Props.Get <string>(ConfigProperties.SelectedTheme, ConfigProperties.DefaultSelectedTheme);
                var themeToApply = Themes.Get(Themes.CurrentTheme);
                if (themeToApply != null)
                {
                    wb.ApplyTheme(themeToApply);
                }

                wb.FormClosing += new System.Windows.Forms.FormClosingEventHandler(OnWorkbenchClosing);
                wb.Text         = "MapGuide Maestro"; //NOXLATE

                if (Props.Get(ConfigProperties.ShowMessages, true))
                {
                    vcMgr.OpenContent <MessageViewer>(ViewRegion.Bottom);
                }

                if (Props.Get(ConfigProperties.ShowOutboundRequests, true))
                {
                    vcMgr.OpenContent <OutboundRequestViewer>(ViewRegion.Bottom);
                }

                LoginCommand.RunInternal(true);
            };
        }