Why I can’t convert my Windows Server 2012 R2 Core to GUI

Let’s assume that you installed some time ago one Windows Server 2012 R2 Server Core and you have installed also latest Windows Updates to that server and this server does not have an internet connection.

Here are the updates that are installed

clip_image001

In one day you discover that you need to add graphical user interface and you execute the following command

Install-WindowsFeature Server-Gui-Shell -Source:wim:D:\Sources\install.wim:2

You will see that it reaches to 68% and fails with following error

Install-WindowsFeature : The request to add or remove features on the specified server failed.

Installation of one or more roles, role services, or features failed.

The source files could not be downloaded.

Use the "source" option to specify the location of the files that are required to restore the feature. For more information on specifying a source location,see http://go.microsoft.com/fwlink/?LinkId=243077. Error: 0x800f0906

image

You re-read the Technet article and maybe also re-download the Windows Server installation media but the command still fails. You also see from the internet this approach but it still fails

New-Item -Path C:\WS2012R2 -ItemType Directory Mount-WindowsImage -Path C:\WS2012R2 -ImagePath C:\TEMP\install.wim -Index 2 -ReadOnly Install-WindowsFeature Server-Gui-Shell –Source C:\WS2012R2

So the BIG question is what´s wrong?

In this case the server is offline and can´t download the files from Windows Update and in some cases you can´t allow the server to contact directly with Windows Update.

Actually the problem is really easy. The problem is that your Windows Server installation source files are older than your server installation with latest Windows Updates. To fix the problem you need to update also your installation source files regularly otherwise you may run into issues, if you need the source files really quickly for recovery etc.

Currently Microsoft does not provide any automated way to do that but you can create it yourself really easily.

Here are the commands to update the source files with PowerShell

# Create folders New-Item -Path C:\WS2012R2 -ItemType Directory New-Item -Path C:\TEMP -ItemType Directory # Copy the install.wim to temporary folder Copy-Item H:\sources\install.wim C:\TEMP # Remove the read-only attribute from the copied file Set-ItemProperty -Path C:\TEMP\install.wim -Name IsReadOnly -Value $False # Get the Windows Image Index Get-WindowsImage -ImagePath C:\TEMP\install.wim # Mount the Image Mount-WindowsImage -Path C:\WS2012R2 -ImagePath C:\TEMP\install.wim -Index 2 # Add the Updates to Windows Image $Updates = Get-ChildItem C:\Users\kaj\Desktop\Updates foreach($item in $Updates){ Add-WindowsPackage -PackagePath $item.FullName -Path "C:\WS2012R2" } # Commit the changes Dismount-WindowsImage -Path C:\WS2012R2 -Save -Verbose

If you update the source files with these 12 updates and you run the command again it will succeed. You can use Get-WindowsImage cmdlet to get the correct Windows Image index. Default size for Windows Server 2012 R2 SERVERSTANDARD is 11 676 579 164 bytes and with 12 updates the size is 13 676 153 548 bytes.

image

So please remember to update you source files regularly!


Comments (15):

  1. […] why they fail. Thanks to John for pointing it out. It’s likely that the issue detailed here is the […]

  2. R0man says:

    THANK YOU.
    It was simpler to download ALL updates for 2012 R2 (from http://catalog.update.microsoft.com/v7/site/Home.aspx) and apply them to the image.
    Then, it passed :)

  3. BDAScott says:

    Have this page bookmarked!! good stuff

    R0man.. in case you come back to read, I’ve tried searching for all updates but can’t seem to get it down under the 1000 mark which then truncates the list..

    I’ve searched for {“server 2012 r2” Updates} and it seems to have worked, but didnt realize there are so many. Was this your experience too?

  4. Helpful information and facts. Lucky me I came across your web blog by accident, using this program . taken aback the reason why that chance don’t happened sooner! I actually bookmarked them.

    • Seb says:

      $Updates = Get-ChildItem C:\Users\kaj\Desktop\Updates
      foreach($item in $Updates){
      Add-WindowsPackage -PackagePath $item.FullName -Path “C:\WS2012R2”
      }
      What is in the folder Updates ? How did you get updates into this folder??

  5. Dennis says:

    I have been struggling, trying to add the Windows Feature “Desktop Experience” to a newly installed Windows server 2012 R2. But with no luck. I have Microsoft tech working for 2 weeks now.
    My problems started after a Windows update installation.
    So it seems that my Windows Server installation source files are older than my server installation with latest Windows Updates.
    I have been following the steps from the blog post.
    And I tried to install Desktop Experience with the source:WIM:c:\temp\install.wim:2 option.
    But the same error.
    Could I be missing updates? Right now there is 124 updates incl. security updates.
    Is it possible to download all updates in one action?
    Thank you very much for your help.

  6. Kratusin says:

    This procedure cannot work. Something is missing. Where is original description without errors?

  7. Juan Carlos Gutierrez says:

    I did it and it worker, the key to update is to get the list of the updates the server already have, then go to the MS download website, search for the KB articles and download them all, then point the Add-WindowsPackage to the folder were the updates were downloaded, then run the InstallFeature pointing to the “updated” image.

  8. Juan Carlos Gutierrez says:

    Use the same command as before, the only difference is that the new image has all the updates installed on the core server, I had to download 65 updates from http://catalog.update.microsoft.com/v7/site/Home.aspx

    Install-WindowsFeature server-gui-mgmt-infra -source:wim:C:\TEMP\install.wim:2 -Restart:$false

  9. Jose says:

    To download Updates :

    from command line run sconfig
    choose Option 6

  10. Tried all of the solutions, including manual mounting of ISO and applying all updates (150+…*erg*) and still failed.

    However, I checked the logs and thought about the process. I then thought about redirecting the command to another server running full GUI and it worked. Hope this helps others. Syntax:
    Dism /Online /Enable-Feature /FeatureName:ServerCore-Gui-Mgmt /Source:\\[server]\c$\Windows\WinSxS /LimitAccess

    • Felipe says:

      David, the same happened with me.
      I tried to update the image, get the updates directly from Windows Update, nothing worked.
      Then i tried this (after sharing winsxs folder in the server with gui and updated):
      PS C: > Install-WindowsFeature Server-Gui-Mgmt-Infra -source \\[server]\winsxs
      and it worked!

      To install server-gui-shell , i had to try to connect to Windows Update again and then it worked.

  11. JC says:

    There seems to be something missing in this post? Which 12 updates, where do you get them from?

Leave a Reply