I had problems with installing windows updates on an offline Windows Server 2016. The Windows Update dialog would just stop on 0%, and nothing else would happen. If I connect the server to the internet and choose updating from microsoft online, the update runs fine. I had several of these servers to set up, and wanted to find out what caused this.
After a little while I found this KB for Windows 10 and Windows Server 2016. Turns out there is a bug in the version of Windows Server 2016 I installed (a standard ISO from volume licensing portal), that affects updating with a managed update service (WSUS).
After I installed this update, everything worked like expected.
As a follow up, I also encountered problems while installing this update on some of the servers. The update process would just stall at one point. No error message or anything. I am not sure exactly what causes this, but the fix is to install it “manually”. By manually I mean extract the cab files from the msu (with expand), and use Add-WindowsPackage to install the cab.
See a simple example here on my open github.