阻止更新 .NET Framework

Block updating .NET Framework

出于兼容性原因,我想保留当前的 ​​.NET Framework 版本(即 4.7,最新版本)并停止 automatic/silent 将来从 Windows 更新或 WSUS 仅针对 . NET Framework 版本,同时允许 Windows Server 2008 或 2012 上的所有其他 system/security 更新。 我已经找到了有关如何防止更新到某个 .NET Framework 版本或如何在 Windows Update 更新已经可用后从更新列表中隐藏更新的答案,但这不是我想要的。 我感兴趣的是在我们不知道是否、何时以及升级到哪个版本可用时阻止从 .NET Framework 版本更新。例如。最新的 .NET Framework 是 4.7 版。未来的版本可能是 4.7.1、4.7.2、4.8 或 4.9,但我们还不知道。如何防止 Windows Update 或 WSUS 在 Windows Server 2008/2012 上安装这些未来更新?

你不需要。您可以同时使用 .Net Framework install and run multiple versions。然后您的应用程序可以针对特定版本。只要该版本可用,还有什么新版本可用都没有关系。

我认为这是一个非常明智的问题,我有点惊讶整个互联网似乎都相信微软不会破坏他们的东西(至少在自动 web 服务器 .NET 运行时更新的背景下) .

是的,你问的是not recommended by Microsoft

Important We strongly recommend that you do not block the installation of .NET Framework 4.7.2. However, you may have a business reason to temporarily block the installation. For example, you may require more time to test line-of-business applications in your environment. In such a case, you can modify the registry to temporarily block this installation.

是的,Microsoft .NET Framework Windows 更新旨在完全向后兼容。

但是对于生产服务器上的关键应用程序,如果不先在暂存环境中进行测试,就自动对底层代码进行版本升级是有一定风险的。虽然很少见,但也有known instances of existing applications being broken by Microsoft's in-place Windows Updates. (This is also a risk for updates generally, including security updates.)

回答你的问题:

不,似乎没有任何服务器级别的设置允许您阻止未来的、未宣布的 .NET Framework 更新,通常用于直接连接到 Windows 更新的计算机。

作为替代方案,以下三个解决方法可以帮助您防止未经测试的 .NET 运行时更新:

  1. 如果您的组织使用更新管理解决方案,例如 Microsoft WSUS 或 System Center Configuration Manager,这些工具可用于有选择地单独批准或推迟您的更新。

  2. 你总是可以落后一个版本。 (例如:在确认下一个 "BlockNetFramework48" 设置名称之前不要更新到 .NET 4.7.2。)

  3. (不太可靠)最近的 .NET Framework 版本更新已作为推荐更新推出。如果禁用可能会部分降低未来 .NET Framework 版本更新将在未经测试的情况下自动推出的风险的推荐更新。