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 } }
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); } }
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 } }
/// <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; } }