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
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
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.
So please remember to update you source files regularly!
[…] why they fail. Thanks to John for pointing it out. It’s likely that the issue detailed here is the […]
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 🙂
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?
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.
[…] […]
[…] […]
$Updates = Get-ChildItem C:UserskajDesktopUpdates
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??
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:tempinstall.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.
This procedure cannot work. Something is missing. Where is original description without errors?
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.
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:TEMPinstall.wim:2 -Restart:$false
To download Updates :
from command line run sconfig
choose Option 6
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$WindowsWinSxS /LimitAccess
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.
Thank you so much for these 2 answers. I spent hours trying to determine how to get the 151 hotfixes that are already installed downloaded and added in to get the GUI installed, when the answer was so much simpler. Thank you Felipe and David
There seems to be something missing in this post? Which 12 updates, where do you get them from?
It’s litterally in the first picture you dunce.
Thanks for the response. It solved my problem. I will also add that, at step 6 (#add the updates to windows image), you could use the first line of the code.
$Updates = Get-ChildItem C:Updates
When its done you proceed to committing the changes.
In summary the rest of the code wasnot required in order for the updates to be installed. It brought up an error.
Thanks again.