public MainWindow()
        {
            if (!IsSharePointDllAvailable())
            {
                WpfMessageBoxInstance.Show(Exceptions.SharePointNotInstalledMessage, UserDisplay.TitleError, MessageBoxButton.OK, MessageBoxImage.Error);
                Close();
            }
            //CheckGac();

            InitializeComponent();

            PopulateWebApplications();
            PopulateServiceApplicationPools();
        }
        private void CheckGac()
        {
            var assembliesFound = false;

            var assembliesToCheck = new Collection <string>()
            {
                "NewsGator.Install.Common",
                "NewsGator.Install.Cmdlets",
                "NewsGator.Install.Resources"
            };

            var gac35 = "c:\\windows\\assembly\\gac_msil";
            var gac40 = "c:\\windows\\microsoft.net\\assembly\\gac_msil";

            var gacSubFormat = "{0}\\{1}.dll";
            var gacFormat    = "{0}\\{1}";

            foreach (var assemblyToCheck in assembliesToCheck)
            {
                var directory35 = string.Format(CultureInfo.InvariantCulture, gacFormat, gac35, assemblyToCheck);
                var directory40 = string.Format(CultureInfo.InvariantCulture, gacFormat, gac40, assemblyToCheck);

                foreach (var directory in new Collection <string> {
                    directory35, directory40
                })
                {
                    if (Directory.Exists(directory))
                    {
                        foreach (var subdirectory in Directory.GetDirectories(directory))
                        {
                            var fileToCheck = string.Format(CultureInfo.InvariantCulture, gacSubFormat, subdirectory, assemblyToCheck);
                            if (File.Exists(fileToCheck))
                            {
                                assembliesFound = true;
                            }
                        }
                    }
                }
            }

            if (assembliesFound)
            {
                WpfMessageBoxInstance.Show("One or more of the NewsGator Social Sites Installer assemblies (NewsGator.Install.*) have been located in the Global Assembly Cache.  These must be removed from the Global Assembly Cache before continuing.", UserDisplay.TitleError, MessageBoxButton.OK, MessageBoxImage.Error);
                Close();
            }
        }
 private static bool DisplayWarningContinue()
 {
     return(WpfMessageBoxInstance.Show(UserDisplay.DisasterRecoverWarning, UserDisplay.TitleWarning, MessageBoxButton.OKCancel, MessageBoxImage.Warning) != MessageBoxResult.Cancel);
 }