如何在 Server Core 上安装 .NET Framework 升级?

How do I install .NET Framework upgrades on Server Core?

我在 Azure 上有许多服务器核心 VM,用于 Service Fabric 集群。他们 运行 2016-Datacenter-Server-Core 映像。

VM 默认安装 .NET Framework 4.6.2。如何升级框架,例如到 4.7.1?

KB4033393 无法通过 Windows 更新获得。我试过手动下载 KB 并安装它:

wget http://download.windowsupdate.com/d/msdownload/update/software/ftpk/2017/11/windows10.0-kb4033393-x64_2a569b5822abf71975ca7f9b0c8dd3791f326f40.msu -UseBasicParsing -OutFile windows10.0-kb4033393-x64_2a569b5822abf71975ca7f9b0c8dd3791f326f40.msu
wusa .\windows10.0-kb4033393-x64_2a569b5822abf71975ca7f9b0c8dd3791f326f40.msu

接受许可后,它只是说:

The following updates were not installed:

Update for Windows (KB4033393)

离线安装程序 有效。

  1. 导航到离线安装程序下载页面,例如https://www.microsoft.com/en-us/download/confirmation.aspx?id=56116
  2. 通过从 单击此处手动下载 link 复制它来获取下载的 URL,例如https://download.microsoft.com/download/9/E/6/9E63300C-0941-4B45-A0EC-0008F96DD480/NDP471-KB4033342-x86-x64-AllOS-ENU.exe
  3. 使用 PowerShell 下载并安装更新:

    wget https://download.microsoft.com/download/9/E/6/9E63300C-0941-4B45-A0EC-0008F96DD480/NDP471-KB4033342-x86-x64-AllOS-ENU.exe -UseBasicParsing -OutFile NDP471-KB4033342-x86-x64-AllOS-ENU.exe
    .\NDP471-KB4033342-x86-x64-AllOS-ENU.exe /q /norestart
    

使用RDP时可以使用任务管理器(Ctrl+Alt+End ) 以了解安装程序何时完成。您可以通过使用 Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" 或 运行 systeminfo 列出版本信息来验证安装,后者应在 Hotfixe(s)[= 下列出相关的 KB(例如 KB4033393) 35=].

您也可以去掉/norestart参数,安装完成后服务器会自动重启。