Example #1
0
        private CheckStatuses CheckASPNET(out string details)
        {
            details = "ASP.NET 2.0 is installed.";
            CheckStatuses ret = CheckStatuses.Success;

            try
            {
                if (SetupVariables.IISVersion.Major == 6)
                {
                    //iis 6
                    WebExtensionStatus status = GetASPNETStatus();
                    switch (status)
                    {
                    case WebExtensionStatus.NotInstalled:
                    case WebExtensionStatus.Prohibited:
                        InstallASPNET();
                        EnableASPNET();
                        ret     = CheckStatuses.Warning;
                        details = "ASP.NET 2.0 has been installed.";
                        break;
                    }
                }
                else
                {
                    //IIS 7 on Windows 2008 and higher
                    if (!IsWebServerRoleInstalled())
                    {
                        details = "Web Server (IIS) role is not installed on your server. Run Server Manager to add Web Server (IIS) role.";
                        Log.WriteInfo(string.Format("ASP.NET check: {0}", details));
                        return(CheckStatuses.Error);
                    }
                    if (!IsAspNetRoleServiceInstalled())
                    {
                        details = "ASP.NET role service is not installed on your server. Run Server Manager to add ASP.NET role service.";
                        Log.WriteInfo(string.Format("ASP.NET check: {0}", details));
                        return(CheckStatuses.Error);
                    }
                }
                Log.WriteInfo(string.Format("ASP.NET check: {0}", details));
                return(ret);
            }
            catch (Exception ex)
            {
                if (!Utils.IsThreadAbortException(ex))
                {
                    Log.WriteError("Check error", ex);
                }
                details = "Unexpected error";
#if DEBUG
                return(CheckStatuses.Warning);
#endif
#if !DEBUG
                return(CheckStatuses.Error);
#endif
            }
        }
Example #2
0
        internal static CheckStatuses CheckIIS32Mode(SetupVariables setupVariables, out string details)
        {
            details = string.Empty;
            CheckStatuses ret = CheckIISVersion(setupVariables, out details);

            if (ret == CheckStatuses.Error)
            {
                return(ret);
            }

            try
            {
                //IIS 6
                if (setupVariables.IISVersion.Major == 6)
                {
                    //x64
                    if (Utils.IsWin64())
                    {
                        if (!Utils.IIS32Enabled())
                        {
                            Log.WriteInfo("IIS 32-bit mode disabled");
                            EnableIIS32Mode();
                            details = "IIS 32-bit mode has been enabled.";
                            Log.WriteInfo(string.Format("IIS 32-bit mode check: {0}", details));
                            return(CheckStatuses.Warning);
                        }
                    }
                }
                return(CheckStatuses.Success);
            }
            catch (Exception ex)
            {
                if (!Utils.IsThreadAbortException(ex))
                {
                    Log.WriteError("Check error", ex);
                }
                details = "Unexpected error";
                return(CheckStatuses.Error);
            }
        }
Example #3
0
        internal static CheckStatuses CheckASPNET(SetupVariables setupVariables, out string details)
        {
            details = "ASP.NET 4.0 is installed.";
            CheckStatuses ret = CheckStatuses.Success;

            try
            {
                // IIS 6
                if (setupVariables.IISVersion.Major == 6)
                {
                    //
                    if (Utils.CheckAspNet40Registered(setupVariables) == false)
                    {
                        // Register ASP.NET 4.0
                        Utils.RegisterAspNet40(setupVariables);
                        //
                        ret     = CheckStatuses.Warning;
                        details = AspNet40HasBeenInstalledMessage;
                    }
                    // Enable ASP.NET 4.0 Web Server Extension if it is prohibited
                    if (Utils.GetAspNetWebExtensionStatus_Iis6(setupVariables) == WebExtensionStatus.Prohibited)
                    {
                        Utils.EnableAspNetWebExtension_Iis6();
                    }
                }
                // IIS 7 on Windows 2008 and higher
                else
                {
                    if (!IsWebServerRoleInstalled())
                    {
                        details = "Web Server (IIS) role is not installed on your server. Run Server Manager to add Web Server (IIS) role.";
                        Log.WriteInfo(string.Format("ASP.NET check: {0}", details));
                        return(CheckStatuses.Error);
                    }
                    if (!IsAspNetRoleServiceInstalled())
                    {
                        details = "ASP.NET role service is not installed on your server. Run Server Manager to add ASP.NET role service.";
                        Log.WriteInfo(string.Format("ASP.NET check: {0}", details));
                        return(CheckStatuses.Error);
                    }
                    // Register ASP.NET 4.0
                    if (Utils.CheckAspNet40Registered(setupVariables) == false)
                    {
                        // Register ASP.NET 4.0
                        Utils.RegisterAspNet40(setupVariables);
                        //
                        ret     = CheckStatuses.Warning;
                        details = AspNet40HasBeenInstalledMessage;
                    }
                }
                // Log details
                Log.WriteInfo(string.Format("ASP.NET check: {0}", details));
                //
                return(ret);
            }
            catch (Exception ex)
            {
                if (!Utils.IsThreadAbortException(ex))
                {
                    Log.WriteError("Check error", ex);
                }
                details = "Unexpected error";
#if DEBUG
                return(CheckStatuses.Warning);
#endif
#if !DEBUG
                return(CheckStatuses.Error);
#endif
            }
        }
Example #4
0
        /// <summary>
        /// Displays process progress.
        /// </summary>
        public void Start()
        {
            bool pass = true;

            try
            {
                lvCheck.Items.Clear();
                this.imgError.Visible  = false;
                this.imgOk.Visible     = false;
                this.lblResult.Visible = false;

                foreach (ConfigurationCheck check in Checks)
                {
                    AddListViewItem(check);
                }
                this.Update();
                CheckStatuses status  = CheckStatuses.Success;
                string        details = string.Empty;
                //
                foreach (ListViewItem item in lvCheck.Items)
                {
                    ConfigurationCheck check = (ConfigurationCheck)item.Tag;
                    item.ImageIndex       = 0;
                    item.SubItems[2].Text = "Running";
                    this.Update();

                    #region Previous Prereq Verification
                    switch (check.CheckType)
                    {
                    case CheckTypes.OperationSystem:
                        status = CheckOS(check.SetupVariables, out details);
                        break;

                    case CheckTypes.IISVersion:
                        status = CheckIISVersion(check.SetupVariables, out details);
                        break;

                    case CheckTypes.ASPNET:
                        status = CheckASPNET(check.SetupVariables, out details);
                        break;

                    case CheckTypes.SCPServer:
                        status = CheckSCPServer(check.SetupVariables, out details);
                        break;

                    case CheckTypes.SCPEnterpriseServer:
                        status = CheckSCPEnterpriseServer(check.SetupVariables, out details);
                        break;

                    case CheckTypes.SCPPortal:
                        status = CheckSCPPortal(check.SetupVariables, out details);
                        break;

                    case CheckTypes.SCPWebDavPortal:
                        status = CheckSCPWebDavPortal(check.SetupVariables, out details);
                        break;

                    default:
                        status = CheckStatuses.Warning;
                        break;
                    }

                    #endregion

                    switch (status)
                    {
                    case CheckStatuses.Success:
                        item.ImageIndex       = 1;
                        item.SubItems[2].Text = "Success";
                        break;

                    case CheckStatuses.Warning:
                        item.ImageIndex       = 2;
                        item.SubItems[2].Text = "Warning";
                        break;

                    case CheckStatuses.Error:
                        item.ImageIndex       = 3;
                        item.SubItems[2].Text = "Error";
                        pass = false;
                        break;
                    }
                    item.SubItems[3].Text = details;
                    this.Update();
                }
                //
                //actionManager.PrerequisiteComplete += new EventHandler<ActionProgressEventArgs<bool>>((object sender, ActionProgressEventArgs<bool> e) =>
                //{
                //
                //});
                //
                //actionManager.VerifyDistributivePrerequisites();

                ShowResult(pass);
                if (pass)
                {
                    //unattended setup
                    if (!string.IsNullOrEmpty(Wizard.SetupVariables.SetupXml) && AllowMoveNext)
                    {
                        Wizard.GoNext();
                    }
                }
            }
            catch (Exception ex)
            {
                if (Utils.IsThreadAbortException(ex))
                {
                    return;
                }

                ShowError();
                return;
            }
        }
        /// <summary>
        /// Displays process progress.
        /// </summary>
        public void Start()
        {
            bool pass = true;

            try
            {
                lvCheck.Items.Clear();
                this.imgError.Visible  = false;
                this.imgOk.Visible     = false;
                this.lblResult.Visible = false;

                foreach (ConfigurationCheck check in Checks)
                {
                    AddListViewItem(check);
                }
                this.Update();
                CheckStatuses status  = CheckStatuses.Success;
                string        details = string.Empty;
                foreach (ListViewItem item in lvCheck.Items)
                {
                    ConfigurationCheck check = (ConfigurationCheck)item.Tag;
                    item.ImageIndex       = 0;
                    item.SubItems[2].Text = "Running";
                    this.Update();

                    switch (check.CheckType)
                    {
                    case CheckTypes.OperationSystem:
                        status = CheckOS(out details);
                        break;

                    case CheckTypes.IISVersion:
                        status = CheckIISVersion(out details);
                        break;

                    case CheckTypes.ASPNET:
                        status = CheckASPNET(out details);
                        break;

                    case CheckTypes.WPServer:
                        status = CheckWPServer(check.SetupVariables, out details);
                        break;

                    case CheckTypes.WPEnterpriseServer:
                        status = CheckWPEnterpriseServer(check.SetupVariables, out details);
                        break;

                    case CheckTypes.WPPortal:
                        status = CheckWPPortal(check.SetupVariables, out details);
                        break;

                    default:
                        status = CheckStatuses.Warning;
                        break;
                    }
                    switch (status)
                    {
                    case CheckStatuses.Success:
                        item.ImageIndex       = 1;
                        item.SubItems[2].Text = "Success";
                        break;

                    case CheckStatuses.Warning:
                        item.ImageIndex       = 2;
                        item.SubItems[2].Text = "Warning";
                        break;

                    case CheckStatuses.Error:
                        item.ImageIndex       = 3;
                        item.SubItems[2].Text = "Error";
                        pass = false;
                        break;
                    }
                    item.SubItems[3].Text = details;
                    this.Update();
                }
                ShowResult(pass);
                if (pass)
                {
                    //unattended setup
                    if (!string.IsNullOrEmpty(Wizard.SetupVariables.SetupXml) && AllowMoveNext)
                    {
                        Wizard.GoNext();
                    }
                }
            }
            catch (Exception ex)
            {
                if (Utils.IsThreadAbortException(ex))
                {
                    return;
                }

                ShowError();
                return;
            }
        }