Unable to install .NET Framework 4.6 on Windows Server 2012 R2 Core

When using the the offline installer (https://www.microsoft.com/en-us/download/details.aspx?id=48137) to install .NET 4.6 on a Windows Server 2012 R2 Core machine the following error is being returned:

Problem signature:
Problem Event Name: VSSetup
Problem Signature 01:   Microsoft .NET Framework 4.6 Setup
Problem Signature 02:   4.6.00081
Problem Signature 03:   14.0.81.0
Problem Signature 04:   1
Problem Signature 05:   unknown
Problem Signature 06:   None_UI_Interactive_Crash
Problem Signature 07:   0xc000008c
Problem Signature 08:   0
Problem Signature 09:   unknown
OS Version: 6.3.9600.2.0.0.272.7
Locale ID:  1033

I've also tried installing .NET 4.6 using chocolatey. The following error is output to the generated log:

[11/3/2015, 10:26:0]Launching Download and Install operations simultaneously.
[11/3/2015, 10:26:0] Action: Downloading and/or Verifying Items
[11/3/2015, 10:26:0]All buttons hidden in passive mode
[11/3/2015, 10:26:0]Verifying Digital Signatures: C:\9cc6764dbba6d31323a799ae35\SetupUtility.exe
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 1
[11/3/2015, 10:26:0] C:\9cc6764dbba6d31323a799ae35\SetupUtility.exe: Verifying signature for SetupUtility.exe
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 2
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 3
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 4
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 5
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 6
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 7
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 8
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 9
[11/3/2015, 10:26:0]LoadImage failed for rotation icon 10

I can successfully install .NET 4.6 on the full (gui) version of Windows Server 2012 R2.

UPDATE: After removing the windows feature User-Interfaces-Infra from the Full Win Server 2012 R2 instance, the same error is produced as occurs on the Core instance.

Both of these servers are running as AWS instances and use Amazon's own AMIs.


Both .NET 4.6 and 4.6.1 installers attempt to use GUI functionality not available on Server Core and crash. This happens even in passive mode. Fortunately, completely quiet installation works:

NDP46-KB3045557-x86-x64-AllOS-ENU.exe /q

or

NDP461-KB3102436-x86-x64-AllOS-ENU.exe /q

(add /norestart if you do not want the server to reboot automatically)


My solution is as follows:

  1. Manually extract all files in the [Offline installer|https://www.microsoft.com/en-us/download/details.aspx?id=48137] using 7zip.
  2. Run dism.exe to add the appropriate package for Win Server 2012 Core 64-Bit.

Here's the script I used. NOTE the script installs the appropriate package for Windows Server 2012 64-Bit and has not been tested on Win RT or 32-bit systems:

# Installs the .Net 4.6 onto Windows Server 2012 Core instances.
# Running the exe causes an error due to the User-Interfaces-Infra feature not being installed
$ErrorAction = "Stop"

# Download URL has been pulled from the Chocolatey DotNet4.6 install script
$downloadUrl = "http://download.microsoft.com/download/C/3/A/C3A5200B-D33C-47E9-9D70-2F7C65DAAD94/NDP46-KB3045557-x86-x64-AllOS-ENU.exe"
$fileDestination = "c:\dotnet46.exe"
$extractDir = "c:\dotnet46"

(New-Object net.webclient).DownloadFile($downloadUrl, $fileDestination)

& 7z.exe e -y -o"$extractDir" "$fileDestination"

dism.exe /online /norestart /add-package /PackagePath:$extractDir\x64-Windows8.1-KB3045563-x64.cab

It looks like the install is failing because something is wrong with the original install. This is odd.

I would try reinstalling .NET 4.6 again (or running a repair), then trying to uninstall it.