diff --git a/JexusManager.Features.HttpApi/IpMappingFeature.cs b/JexusManager.Features.HttpApi/IpMappingFeature.cs index c83c919..8d0ab04 100644 --- a/JexusManager.Features.HttpApi/IpMappingFeature.cs +++ b/JexusManager.Features.HttpApi/IpMappingFeature.cs @@ -173,7 +173,7 @@ protected void OnHttpApiSettingsSaved() public override bool ShowHelp() { - DialogHelper.ProcessStart("https://msdn.microsoft.com/en-us/library/windows/desktop/cc307243(v=vs.85).aspx"); + DialogHelper.ProcessStart("https://msdn.microsoft.com/library/windows/desktop/cc307243(v=vs.85).aspx"); return false; } diff --git a/JexusManager.Features.HttpApi/ReservedUrlsFeature.cs b/JexusManager.Features.HttpApi/ReservedUrlsFeature.cs index 7f0036e..a5f9d04 100644 --- a/JexusManager.Features.HttpApi/ReservedUrlsFeature.cs +++ b/JexusManager.Features.HttpApi/ReservedUrlsFeature.cs @@ -143,7 +143,7 @@ protected void OnHttpApiSettingsSaved() public override bool ShowHelp() { - DialogHelper.ProcessStart("https://msdn.microsoft.com/en-us/library/windows/desktop/cc307243(v=vs.85).aspx"); + DialogHelper.ProcessStart("https://msdn.microsoft.com/library/windows/desktop/cc307243(v=vs.85).aspx"); return false; } diff --git a/JexusManager.Features.HttpApi/SniMappingFeature.cs b/JexusManager.Features.HttpApi/SniMappingFeature.cs index b6fb9d2..4a8f4d6 100644 --- a/JexusManager.Features.HttpApi/SniMappingFeature.cs +++ b/JexusManager.Features.HttpApi/SniMappingFeature.cs @@ -188,7 +188,7 @@ protected void OnHttpApiSettingsSaved() public override bool ShowHelp() { - DialogHelper.ProcessStart("https://msdn.microsoft.com/en-us/library/windows/desktop/cc307243(v=vs.85).aspx"); + DialogHelper.ProcessStart("https://msdn.microsoft.com/library/windows/desktop/cc307243(v=vs.85).aspx"); return false; } diff --git a/JexusManager/Features/Main/BindingDiagDialog.cs b/JexusManager/Features/Main/BindingDiagDialog.cs index 5d91669..6d1297e 100644 --- a/JexusManager/Features/Main/BindingDiagDialog.cs +++ b/JexusManager/Features/Main/BindingDiagDialog.cs @@ -287,7 +287,7 @@ private int GetEventLogging() return -1; } - // https://support.microsoft.com/en-us/kb/260729 + // https://support.microsoft.com/kb/260729 var key = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\Control\SecurityProviders\SCHANNEL"); if (key == null) { @@ -305,7 +305,7 @@ private static bool GetProtocol(string protocol) return false; } - // https://support.microsoft.com/en-us/kb/187498 + // https://support.microsoft.com/kb/187498 var key = Registry.LocalMachine.OpenSubKey( $@"SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\{protocol}\Server"); diff --git a/JexusManager/Features/Main/KestrelDiagDialog.cs b/JexusManager/Features/Main/KestrelDiagDialog.cs index d5889a1..1bdfc63 100644 --- a/JexusManager/Features/Main/KestrelDiagDialog.cs +++ b/JexusManager/Features/Main/KestrelDiagDialog.cs @@ -208,7 +208,7 @@ public KestrelDiagDialog(IServiceProvider provider, Application application) appHost.RootSectionGroup.GetAllDefinitions(definitions); if (!definitions.Any(item => item.Path == "system.webServer/aspNetCore")) { - Error($"ASP.NET Core module is not installed as part of IIS. Please refer to https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index#install-the-net-core-hosting-bundle for more details."); + Error($"ASP.NET Core module is not installed as part of IIS. Please refer to https://docs.microsoft.com/aspnet/core/host-and-deploy/iis/index#install-the-net-core-hosting-bundle for more details."); return; } @@ -220,7 +220,7 @@ public KestrelDiagDialog(IServiceProvider provider, Application application) if (hasV1 == null && hasV2 == null) { - Error($"ASP.NET Core module is not installed as part of IIS. Please refer to https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index#install-the-net-core-hosting-bundle for more details."); + Error($"ASP.NET Core module is not installed as part of IIS. Please refer to https://docs.microsoft.com/aspnet/core/host-and-deploy/iis/index#install-the-net-core-hosting-bundle for more details."); return; } @@ -291,7 +291,7 @@ public KestrelDiagDialog(IServiceProvider provider, Application application) if (foundHandlers.Count == 0) { Error($"No valid ASP.NET Core handler is registered for this web site."); - Error($"To run ASP.NET Core on IIS, please refer to https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index for more details."); + Error($"To run ASP.NET Core on IIS, please refer to https://docs.microsoft.com/aspnet/core/host-and-deploy/iis/index for more details."); return; } @@ -317,12 +317,12 @@ public KestrelDiagDialog(IServiceProvider provider, Application application) } else { - Error($" Visual C++ runtime 14.0 is not detected. Please install it following the tips on https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index#install-the-net-core-hosting-bundle."); + Error($" Visual C++ runtime 14.0 is not detected. Please install it following the tips on https://docs.microsoft.com/aspnet/core/host-and-deploy/iis/index#install-the-net-core-hosting-bundle."); } } else { - Error($" Visual C++ 14.0 runtime is not detected. Please install it following the tips on https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index#install-the-net-core-hosting-bundle."); + Error($" Visual C++ 14.0 runtime is not detected. Please install it following the tips on https://docs.microsoft.com/aspnet/core/host-and-deploy/iis/index#install-the-net-core-hosting-bundle."); } Info($"The application pool '{pool.Name}' is used."); @@ -495,7 +495,7 @@ public KestrelDiagDialog(IServiceProvider provider, Application application) catch (COMException ex) { Error("A generic exception occurred."); - Error($"To run ASP.NET Core on IIS, please refer to https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index for more details."); + Error($"To run ASP.NET Core on IIS, please refer to https://docs.microsoft.com/aspnet/core/host-and-deploy/iis/index for more details."); Debug(ex.ToString()); Rollbar.RollbarLocator.RollbarInstance.Error(ex); } @@ -564,7 +564,7 @@ private void Info(string text) private void BtnHelpClick(object sender, EventArgs e) { - DialogHelper.ProcessStart("http://www.jexusmanager.com/en/latest/tutorials/vs-diagnostics.html"); + DialogHelper.ProcessStart("https://docs.lextudio.com/jexusmanager/tutorials/ancm-diagnostics.html"); } private void SslDiagDialogHelpButtonClicked(object sender, System.ComponentModel.CancelEventArgs e) diff --git a/JexusManager/Features/Main/PhpDiagDialog.cs b/JexusManager/Features/Main/PhpDiagDialog.cs index 5e0e330..2e4c997 100644 --- a/JexusManager/Features/Main/PhpDiagDialog.cs +++ b/JexusManager/Features/Main/PhpDiagDialog.cs @@ -80,7 +80,7 @@ public PhpDiagDialog(IServiceProvider provider, ServerManager server) Debug($"Scan {modules.Items.Count} installed module(s)."); if (modules.Items.All(item => item.Name != "FastCgiModule")) { - Error($"FastCGI module is not installed as part of IIS. Please refer to https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php#13-download-and-install-php-manually for more details."); + Error($"FastCGI module is not installed as part of IIS. Please refer to https://learn.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh994590(v=ws.11) for more details."); return; } else @@ -112,7 +112,7 @@ public PhpDiagDialog(IServiceProvider provider, ServerManager server) if (foundPhpHandler.Count == 0) { Error($"No valid FastCGI handler is registered for this web site."); - Error($"To run PHP on IIS, please refer to https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php#13-download-and-install-php-manually for more details."); + Error($"To run PHP on IIS, please refer to https://learn.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh994590(v=ws.11) for more details."); return; } @@ -138,7 +138,7 @@ public PhpDiagDialog(IServiceProvider provider, ServerManager server) if (foundPhp.Count == 0) { Error($"No suitable FastCGI appilcation is registered on this server."); - Error($"To run PHP on IIS, please refer to https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php#13-download-and-install-php-manually for more details."); + Error($"To run PHP on IIS, please refer to https://learn.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh994590(v=ws.11) for more details."); return; } @@ -278,7 +278,7 @@ public PhpDiagDialog(IServiceProvider provider, ServerManager server) } else { - Error($"PHP installation is not yet added to Windows Path environment variable. Please refer to https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php#13-download-and-install-php-manually for more details."); + Error($"PHP installation is not yet added to Windows Path environment variable. Please refer to https://learn.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh994590(v=ws.11) for more details."); Warn($"Restart Jexus Manager and rerun PHP Diagnostics after changing Windows Path environment variable."); } diff --git a/JexusManager/Features/Main/SslDiagDialog.cs b/JexusManager/Features/Main/SslDiagDialog.cs index 34ef394..899e1af 100644 --- a/JexusManager/Features/Main/SslDiagDialog.cs +++ b/JexusManager/Features/Main/SslDiagDialog.cs @@ -126,8 +126,8 @@ public SslDiagDialog(IServiceProvider provider, ServerManager server) Debug($"TLS 1.2: {tls12Enabled}"); Debug($"SChannel EventLogging: {GetEventLogging()} (hex)"); - Warn($"To tune TLS related settings, please follow https://support.microsoft.com/en-us/kb/187498 or try out IIS Crypto from https://www.nartac.com/Products/IISCrypto/."); - Warn("Microsoft documentation on cipher suites can be found at https://docs.microsoft.com/en-us/windows/desktop/secauthn/cipher-suites-in-schannel."); + Warn($"To tune TLS related settings, please follow https://support.microsoft.com/kb/187498 or try out IIS Crypto from https://www.nartac.com/Products/IISCrypto/."); + Warn("Microsoft documentation on cipher suites can be found at https://docs.microsoft.com/windows/desktop/secauthn/cipher-suites-in-schannel."); Debug("-----"); foreach (Site site in server.Sites) @@ -438,7 +438,7 @@ private int GetEventLogging() return -1; } - // https://support.microsoft.com/en-us/kb/260729 + // https://support.microsoft.com/kb/260729 var key = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\Control\SecurityProviders\SCHANNEL"); if (key == null) { @@ -456,7 +456,7 @@ private int GetEventLogging() return null; } - // https://support.microsoft.com/en-us/kb/187498 + // https://support.microsoft.com/kb/187498 var key = Registry.LocalMachine.OpenSubKey( $@"SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\{protocol}\Server"); @@ -472,13 +472,13 @@ private int GetEventLogging() return enabled; } - Error($"Invalid registry key value is detected for {protocol}. Please read https://support.microsoft.com/en-us/kb/187498 to resolve the issue."); + Error($"Invalid registry key value is detected for {protocol}. Please read https://support.microsoft.com/kb/187498 to resolve the issue."); return null; } private void BtnHelpClick(object sender, EventArgs e) { - DialogHelper.ProcessStart("http://www.jexusmanager.com/en/latest/tutorials/ssl-diagnostics.html"); + DialogHelper.ProcessStart("https://docs.lextudio.com/jexusmanager/tutorials/ssl-diagnostics.html"); } private void SslDiagDialogHelpButtonClicked(object sender, System.ComponentModel.CancelEventArgs e) diff --git a/JexusManager/Features/Main/VsDiagDialog.cs b/JexusManager/Features/Main/VsDiagDialog.cs index a49ac5c..728291e 100644 --- a/JexusManager/Features/Main/VsDiagDialog.cs +++ b/JexusManager/Features/Main/VsDiagDialog.cs @@ -378,7 +378,7 @@ private void Info(string text) private void BtnHelpClick(object sender, EventArgs e) { - DialogHelper.ProcessStart("http://www.jexusmanager.com/en/latest/tutorials/vs-diagnostics.html"); + DialogHelper.ProcessStart("https://docs.lextudio.com/jexusmanager/tutorials/vs-diagnostics.html"); } private void SslDiagDialogHelpButtonClicked(object sender, System.ComponentModel.CancelEventArgs e) diff --git a/JexusManager/Program.cs b/JexusManager/Program.cs index 4f15dd4..0f8833d 100644 --- a/JexusManager/Program.cs +++ b/JexusManager/Program.cs @@ -147,7 +147,7 @@ private static string GetWindowsVersion() return ndpKey != null ? $"{ndpKey.GetValue("ProductName")} ({ndpKey.GetValue("ReleaseId", "unknown")})" : "Unknown Windows release"; } - // https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#net_d + // https://docs.microsoft.com/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#net_d private static string Get45PlusFromRegistry() { const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"; diff --git a/Microsoft.Web.Administration/FileContext.cs b/Microsoft.Web.Administration/FileContext.cs index 4d1eb5a..ac5034f 100644 --- a/Microsoft.Web.Administration/FileContext.cs +++ b/Microsoft.Web.Administration/FileContext.cs @@ -466,22 +466,22 @@ private bool ParseSections(XElement element, ConfigurationElement parent, Locati if (path.StartsWith("system.webServer/aspNetCore/")) { oob = "ASP.NET Core Module (system.webServer/aspNetCore/)"; - link = "https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x#install-the-net-core-windows-server-hosting-bundle"; + link = "https://docs.microsoft.com/aspnet/core/publishing/iis?tabs=aspnetcore2x#install-the-net-core-windows-server-hosting-bundle"; } else if (path.StartsWith("system.webServer/rewrite/")) { oob = "URL Rewrite Module (system.webServer/rewrite/)"; - link = "https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-the-url-rewrite-module#where-to-get-the-url-rewrite-module"; + link = "https://docs.microsoft.com/iis/extensions/url-rewrite-module/using-the-url-rewrite-module#where-to-get-the-url-rewrite-module"; } else if (path.StartsWith("system.webServer/webFarms/")) { oob = "Application Request Routing Module (system.webServer/webFarms/)"; - link = "https://docs.microsoft.com/en-us/iis/extensions/configuring-application-request-routing-arr/define-and-configure-an-application-request-routing-server-farm#prerequisites"; + link = "https://docs.microsoft.com/iis/extensions/configuring-application-request-routing-arr/define-and-configure-an-application-request-routing-server-farm#prerequisites"; } else if (path.StartsWith("system.webServer/httpPlatform/")) { oob = "HttpPlatformHandler Module (system.webServer/httpPlatform/)"; - link = "https://docs.microsoft.com/en-us/iis/extensions/httpplatformhandler/httpplatformhandler-configuration-reference"; + link = "https://docs.microsoft.com/iis/extensions/httpplatformhandler/httpplatformhandler-configuration-reference"; } var exception = new COMException( diff --git a/Setup/Product.wxs b/Setup/Product.wxs index 617641e..989e2ad 100644 --- a/Setup/Product.wxs +++ b/Setup/Product.wxs @@ -68,7 +68,7 @@ @@ -116,7 +116,7 @@ we make sure SharpDevelop is completely removed before installing the newer version. This also covers us if we accidentally modify a component but do not change its Guid. - http://msdn.microsoft.com/library/en-us/msi/setup/removeexistingproducts_action.asp + http://msdn.microsoft.com/library/msi/setup/removeexistingproducts_action.asp --> diff --git a/Setup/Variables.wxi b/Setup/Variables.wxi index 656144a..3225da0 100644 --- a/Setup/Variables.wxi +++ b/Setup/Variables.wxi @@ -15,7 +15,7 @@ - + diff --git a/Tests/Exceptions/SiteTestCases.cs b/Tests/Exceptions/SiteTestCases.cs index 6addb5f..8e0f0ac 100644 --- a/Tests/Exceptions/SiteTestCases.cs +++ b/Tests/Exceptions/SiteTestCases.cs @@ -410,7 +410,7 @@ public void ArrSection() Assert.Equal(string.Format("Filename: \\\\?\\{0}\r\nError: \r\n", siteConfig), exception.Message); #else Assert.Equal("Application Request Routing Module (system.webServer/webFarms/)", exception.Data["oob"]); - Assert.Equal("https://docs.microsoft.com/en-us/iis/extensions/configuring-application-request-routing-arr/define-and-configure-an-application-request-routing-server-farm#prerequisites", exception.Data["link"]); + Assert.Equal("https://docs.microsoft.com/iis/extensions/configuring-application-request-routing-arr/define-and-configure-an-application-request-routing-server-farm#prerequisites", exception.Data["link"]); Assert.Equal( $"Filename: \\\\?\\{siteConfig}\r\nLine number: 10\r\nError: Unrecognized element 'test'\r\n\r\n", exception.Message); #endif