.netazure-service-fabricserver-core

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


I've a number of Server Core VMs on Azure, for a Service Fabric cluster. They run the 2016-Datacenter-Server-Core image.

The VMs have .NET Framework 4.6.2 installed by default. How can I upgrade the framework, e.g. to 4.7.1?

KB4033393 is not available via Windows Update. I've tried manually downloading the KB and installing it:

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

After accepting the license, it simply says:

The following updates were not installed:

Update for Windows (KB4033393)


Solution

  • The offline installer linked by Hans works.

    1. Navigate to the offline installer download page, e.g. https://www.microsoft.com/en-us/download/confirmation.aspx?id=56116
    2. Get the URL for the download by copying it from the click here to download manually link, e.g. https://download.microsoft.com/download/9/E/6/9E63300C-0941-4B45-A0EC-0008F96DD480/NDP471-KB4033342-x86-x64-AllOS-ENU.exe
    3. Download and install the update with 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
      

    You can use the task manager (Ctrl+Alt+End when using RDP) to know when the installer is finished. You can verify the installation by listing version information with Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\", or by running systeminfo which should list the relevant KB (e.g. KB4033393) under Hotfixe(s).

    You can also exclude the /norestart parameter, the server will reboot automatically then after installation has finished.