___________________________________________________________________________________________________________________________
IMPORTANT ANNOUNCEMENT FOR OUR READERS!
AskPFEPlat is in the process of a transformation to the new Core Infrastructure and Security TechCommunity, and will be moving by the end of March 2019 to our new home at https://aka.ms/CISTechComm (hosted at https://techcommunity.microsoft.com). Please bear with us while we are still under construction!
We will continue bringing you the same great content, from the same great contributors, on our new platform. Until then, you can access our new content on either https://aka.ms/askpfeplat as you do today, or at our new site https://aka.ms/CISTechComm. Please feel free to update your bookmarks accordingly!
Why are we doing this? Simple really; we are looking to expand our team internally in order to provide you even more great content, as well as take on a more proactive role in the future with our readers (more to come on that later)! Since our team encompasses many more roles than Premier Field Engineers these days, we felt it was also time we reflected that initial expansion.
If you have never visited the TechCommunity site, it can be found at https://techcommunity.microsoft.com. On the TechCommunity site, you will find numerous technical communities across many topics, which include discussion areas, along with blog content.
NOTE: In addition to the AskPFEPlat-to-Core Infrastructure and Security transformation, Premier Field Engineers from all technology areas will be working together to expand the TechCommunity site even further, joining together in the technology agnostic Premier Field Engineering TechCommunity (along with Core Infrastructure and Security), which can be found at https://aka.ms/PFETechComm!
As always, thank you for continuing to read the Core Infrastructure and Security (AskPFEPlat) blog, and we look forward to providing you more great content well into the future!
__________________________________________________________________________________________________________________________
In one of my prior posts, I mentioned a step required when installing .Net Framework 3.5 on Windows Server 2012 or later operating systems. Specifically, I mentioned the need to supply the source for the .Net files because this is one of the few components we do not stage to the component store on Windows Server 2012 and later. One of the bullets in the things to keep in mind section at the bottom of this blog reads:
If you are attempting to install .Net Framework 3.5 on Windows Server 2012, instead of specifying the install.wim, you need to specify the Sources\SxS directory on the DVD or if providing the source, the files in the SXS directory copied from the DVD are just for .Net Framework 3.5. You can host them on a share and supply them through the GUI or through Group Policy just like any other feature.
Recently one of my customers ran into an issue when attempting to install .Net Framework 3.5 on Windows Server 2012 R2 using the following command:
Install-WindowsFeature –name NET-Framework-Core –source F:\sources\sxs
F:\ is the mounted Windows Server 2012 R2 ISO.
Yet it still failed with the following error:
The request to add or remove features on the specified server 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. Error: 0x800F0906
Or if you doing this via the GUI, it will look something like the following:
Looking at the cbs.log file from the C:/Windows/logs/cbs directory, we see the following:
2014-09-22 14:27:18, Info CBS Not able to find package: Package_78_for_KB2966828~31bf3856ad364e35~amd64~~6.3.1.4 from the cached windows update index. [HRESULT = 0x800f090e – CBS_E_EMPTY_PACKAGE_MAPPING_INDEX]
2014-09-22 14:27:18, Info CBS Failed to find package: Package_78_for_KB2966828~31bf3856ad364e35~amd64~~6.3.1.4 from the index mapping [HRESULT = 0x800f090e – CBS_E_EMPTY_PACKAGE_MAPPING_INDEX]
2014-09-22 14:27:18, Info CBS Failed to get WU category/updateID for package: Package_78_for_KB2966828~31bf3856ad364e35~amd64~~6.3.1.4 [HRESULT = 0x800f090e – CBS_E_EMPTY_PACKAGE_MAPPING_INDEX]
2014-09-22 14:27:18, Info CBS Failed to get the category and update ID for package: Package_78_for_KB2966828~31bf3856ad364e35~amd64~~6.3.1.4, component: amd64_microsoft-windows-wpfcorecomp.resources_31bf3856ad364e35_6.3.9600.20708_en-us_a3b67b207d2057ab, file: PresentationHostDLL.dll.mui [HRESULT = 0x800f090e – CBS_E_EMPTY_PACKAGE_MAPPING_INDEX]
2014-09-22 14:27:18, Info CBS Exec: Missing files are found during staging attempt but failed to download content from WU. [HRESULT = 0x800f090e – CBS_E_EMPTY_PACKAGE_MAPPING_INDEX]
2014-09-22 14:27:18, Info CBS CommitPackagesState: Started persisting state of packages
2014-09-22 14:27:18, Info CBS CommitPackagesState: Completed persisting state of packages
2014-09-22 14:27:18, Info CSI 00000010@2014/9/22:19:27:18.968 CSI Transaction @0x69943b49e0 destroyed
2014-09-22 14:27:18, Info CBS Perf: Stage chain complete.
2014-09-22 14:27:18, Info CBS Failed to stage execution chain. [HRESULT = 0x800f0906 – CBS_E_DOWNLOAD_FAILURE]
2014-09-22 14:27:18, Error CBS Failed to process single phase execution. [HRESULT = 0x800f0906 – CBS_E_DOWNLOAD_FAILURE]
So why are we getting these errors despite supplying the source?
We released a security update in August 2014 that updates .Net components. The security updates are as follows:
If either of these updates are installed, you will run into the above issue if your server does not have access to the Internet to pull the updated components.
How do we resolve this?
Since this customer’s servers do not have internet access, in their case, they did the following:
1) Uninstalled the security update
2) Installed .Net Framework 3.5 (which installed without error)
3) Reinstalled the update
==================================================================================
**UPDATE**
A fixit package just released for this issue. Please install the update in the following article to correct this issue:
http://support2.microsoft.com/kb/3005628
==================================================================================
Take a look at the following TechNet article for .Net Framework 3.5 deployment considerations:
http://technet.microsoft.com/en-us/library/dn482066.aspx
Here’s a link to the official Knowledge Base article on this issue:
https://support.microsoft.com/kb/3002547
How do you keep from running into this in the future?
I personally recommend that you proactively enable .Net Framework 3.5 on the server images and templates in your environment to prevent having to troubleshoot or take additional steps such as this going forward.
~ Charity .net Shelbourne
I have a Win 2012 and Win 2012 R2 box with as many roles/features installed as possible. They’re set to automatically apply updates. I share the Windows folder. I use the share as the source – it will always be as update to date or better than to the box
I’m adding a new role/feature. Has been working well. For .NET 3.5, I point deep to sharenamewinsxs
For those of you that have run resetbase, the image is sealed after you run this command the update cannot be uninstalled. Therefore, in order to get .NET on the machine, you would need to specify a source which has both .NET Framework 3.5 and this patch
included in it. Take a look at the lower half of
http://blogs.technet.com/b/askpfeplat/archive/2013/02/28/3554712.aspx on how to specify a source. You can also share out a known good Windows directory for a machine that has these already installed and use that as the source, but the preferred method is
to use an updated Install.wim file.
Thanks.
Nice blog, we have had this issue on a 2012R2 server in SBS network. If we leave the domain it was working…..
It is also possible that if you are using an image to install that updates were included that update the .NET components. That could explain why you would still experience errors even after removing this patch. The only option is to use an updated source
as mentioned in the prior comment.
"I personally recommend that you proactively enable .Net Framework 3.5 on the server images and templates in your environment to prevent having to troubleshoot or take additional steps such as this going forward."
This is something I have been advising our own customers as well. This is not the first time this issue has cropped up… I first bumped into it a little over a year ago while offline patching images in SCCM, rendering them pretty much unusable.
I’m having the exact same problem, since offline patching all servers I’m creating form the template vhdx cannot install 3.5 did you find a workaround for this?
@ Tom, a Fixit package just released for this issue. Please try installing this update and then check and see if you can enable .NEt Framework 3.5. The download location for the update is provided in the following Microsoft Knowledge Base article:
http://support2.microsoft.com/kb/3005628
@ Hardy and @ Mike, when you run /resetbase, installed Windows Updates can no longer be removed. Please standby. I’m looking into this and what can be done in these instances.
http://blogs.technet.com/b/askpfeplat/archive/2014/09/29/attempting-to-install-net-framework-3-5-on-windows-server-2012-r2-fails-with-error-code-0x800f0906-or-the-source-files-could-not-be-downloaded-even-when-supplying-source.aspx
@ Ed, No, you’re not missing anything. This is not expected behavior and is a problem with the KB2966828 and KB2966827 updates. The security update is showing as applicable and is applying whether you have or do not have .NET 3.5 already installed…
So this blog post helped me track down my issue but I resolved the issue a little differently. In my case I have a corporate environment with a GPO forcing my client machine(s) to a WSUS server. The WSUS server does not provide any updates for Windows
8.1 so trying to install .NET 3.5 via the online update fails. To resolve the issue I ended up using the original DVD media and the following PowerShell command.
Enable-WindowsOptionalFeature -FeatureName NetFx3 -Online -Source D:sourcessxs
This worked like a champ to get .NET 3.5 installed and running on Windows 8.1
For me the only way to install was to do this via PowerShell !
https://miteshc.wordpress.com/2014/04/02/installing-sql2014-on-win2012r2/
Odd question: Let’s say I got this error when trying to install .net 3.5 on a Server 2012 R2, why would KB2966828 be mentioned since KB2966828 would mean that .net 3.5 is already installed. But it isn’t as we are trying to install it. [Or am I missing
something.]
Thanks for the Info. I ran a couple off weeks into the same issue, where I had to copy the entire winsxs folder from a differnet computer with .Net 3.5 installed on it. Then use the DISM COmmand and select the copied folder as source.
FYI – stand up a new Windows Server 2012 or R2 VM in Microsoft Azure and try and install .net 3.5 then you will run into this issue. Uninstalling the KB updates fixed the issue and enabled the install to proceed.
Thanks a lot Charity, it works for me!
Getting real tired of your s**t, Microsoft.
So what happens when you try to remove the update and it fails stating this update is required by your computer and cannot be removed?
Thank you for the detailed explanation of the problem.
I had the same problem and after finding this it got resolved.
The new Update works fine !
Seem to have a problem here on a client that ran Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase after KB2966828; KB2966828 can not be uninstalled and KB3005628 does not work… Is there a way to fix this?
I’m in the same boat as Hardy, here… I’ve got images where I’ve run Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase after KB2966828; now KB2966828 can not be uninstalled and KB3005628 does not work. Would love to know a solution before
I have to tear down these machines…
215 Microsoft Team blogs searched, 49 blogs have new articles. 150 new articles found searching from
Gr8 it worked like anything. thanks very much
@Charity Shelbourne
same Problem. Can´t uninstall KB2966828 after DISM ResetBase. 🙁
A useful information about .NET, it is interesting and people should understand easily who are looking to take certification course in .NET, Job Assistance and find out some more information in this site
http://biginfosys.com/net-online-training.html">.NET online training in USA | Washington | New York | Indianapolis | New Jersey
thank you 🙂
Just one note for those who have a Language Pack installed on your Windows Server 2012: uninstall MUI before installing .NET Framework 3.5 if you want to save a lot of wasted time.
In my case I tried to install .NET Framework on the following scenario:
– Windows Server 2012 R2 Std
– No .NET fw 3.5 role installed
– Spanish Language Pack
– Neither KB2966828 or KB2966827 weren’t installed
Tried all the methods: Add/remove roles (specifying the source, with and without slash), Powershell command (Install-WindowsFeature) and finally dism without success.
After uninstalling MUI and rebooting the server, tried to add the role with add/remove roles: worked like a charm 🙂
Had this exact issue – worked great, thanks for the info!
2012r2 core – dhcp & dns only installed. Clean install, no dism. Have installed the .net 3.5 feature PRIOR to the bad patches on other core installations. Will not install on newer core machines – no bad patches installed, the "fix (3005628)" installed,
STILL can not install dot net 3.5 which need to run agents.
HUH?? Seems the fix doesn’t always fix the broken patch. Help!
According to the TechNet articles and around the Web for Security purposes the new OS comes with the least features enabled out of the box by default to minimize the attack surface. Now you are recommending to install .NET 3.5 on all Server by default?
Very bad advise. Surprised its coming from an MSFT tech guy.
Tech gal actually, but she walked you through how to fix a problem if youre trying to install .net framework 3.5, you mustve misread…
So when Microsoft updated systems, they didn’t think to update the text returned when Dism inevitably fails to install when attempting to perform an Online install with the source files specified?
Why not update so you provide the KB number explaining the situation, not a generic failure reason that I’ve been facing for months now until I finally found this information now.
I did the solution on my 2012 R2 but it is still not working. I remove both KB tried installing framework 3.5 by cmd,power shell and wizard spicifing the dvd has source but i still get the error:
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
I’m loosing precious time here, why is this so complicated with 2012 and was so simple in 2008?
A fix would be welcome
I ran into the same problem. My server have KB 2919355 installed (Update 1) so I needed to download a new ISO, Server 2012 R2 with Update". Mounted the ISO on drive E: and ran "dism /online /enable-feature /featurename:NetFX3 /all /Source:d:sourcessxs".
Installation was successful. 🙂
Andreas’ solution work for me too. Mounted the ISO on drive E: and ran “dism /online /enable-feature /featurename:NetFX3 /all /Source:d:sourcessxs”.
Thank you Andreas.
Hi Charity
Am using windows 8.1 and the two security updates(KB2966827 and KB2966828) are not installed The update you posted in the link doesn’t work seem to solve it either.
I installed Windows 8 then upgraded to Windows 8.1 from the Windows Store. Now I need .NET 2.0.
So I can’t specify a DISM source for 8.1 versions because I have no 8.1 source.
KB2966826 and KB2966828 were never installed.
Is there any way at all to install .NET 3.5? I’m not keen to blow away the computer and start again from Windows 8, just to install dotnetfx.
Introduction
This blog post is a complement to the Azure blog article published recently about the
Great Post, but if some people have attempted to install .Net 3.5 from the executable they would get the error to install via the features… clearly this is a normal thing if you are a Savvy, but for those that don’t know how to get it done right from
the first attempt. here is the steps… insert your 2012 R2 CD/DVD… browse to the sourcessxs directory… copy the directory. go back to the add roles features, click next until you get to the .net 3.5 option, click next…here you need to click on Specify
an alternate source path on the bottom of this page, paste the source of the path you just copied click ok next next and your done.
Hey y’all, Mark back again to help close out another successful year of blogging. We’ve been at this
Got hit by this error the first time today..you know what Windows really needs? It needs to implement a package management subsystem, just like every other sane server os such as Solaris, Linux or xBSD..getting really tired of all those nonsensical error
messages and clutter left all over my hard drive as soon as you start to install or remove different pieces of software…well, maybe one day…
I’m sorry but how is this in ANY WAY progress? I shouldn’t have to mess about trying to persaude my freshly built server to install a feature.
I have a 2012 server built from YOUR latest ISO from the volume site and I cannot do a simple install of a feature.
For crying out loud Microsoft why do you do this stuff??????
Andreas’ fix worked for me: Mounted the (2012 R2) ISO : and ran "dism /online /enable-feature /featurename:NetFX3 /all /Source:d:sourcessxs"
Have this issue with the Newest 2012 Update Wim from MSDN. Cannot seem to add .Net 3.0 via server manager but can add via powershell?
not supported and found error 0x800fo81f.
If all of this not works you have to turn off your antivirus.
Have Fun 🙂
Thanks for this article. I managed to install .NET 3.5 after specifying the source file via the GUI.
Yep, this fix worked for me. Thanks a lot!
Works for me!
For anyone unable to install Server Features like .NET 3.5 with WSUS enabled in the domain.
When WSUS is set to be the source of Windows Updates the Server Features wizard will look to WSUS for Source Files. WSUS will not provide them and thus will fail to install.
I found the following site useful as it pointed out a Group Policy setting that can assist with assigning a Source and also allowing for Window Update to be used for Server Feature Installations.
https://technet.microsoft.com/en-ca/library/dn482065.aspx
Here is the important excerpt:
"For environments that use Active Directory and Group Policy, the Feature on Demand (FoD) policy setting option provides the most flexibility for the installation of .NET Framework 3.5.
This Group Policy setting specifies the network locations to use to enable optional features that have had their payload files removed, and for file data and registry repair operations from failed update installations.
If you disable or do not configure this setting, or if the required files cannot be found at the locations that are specified in this policy setting, the files are downloaded from Windows Update (if this is allowed by the policy settings for the computer).
The Group Policy setting Specify settings for optional component installation and component repair is located at Computer ConfigurationAdministrative TemplatesSystem in Group Policy Editor."
I hope this helps.
Cheers.
Thank You, after uninstalling the KB2966828, I was able to install .Net35 on 2012R2
Thanks Again 🙂
thecs for fremwork loding im english not samji im gujrati boling vaching lakhing good morning jay shrikrishna
Andreas has got the answer to this one, it’s a much better solution.
unfortunately this fix did not work for me. Any other ideas?
This problema happened to me installing on some servers which were pointing to a WSUS Server wich was not operative… No matter how many tries and using /source but it always failed with the same error code.
Solution: bypass wsus domain policy in registry
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdateAU
"UseWUServer"=dword:00000000
Hope this helps!
Another good solution is this:
http://www.smart-arab.com/2013/12/install-net-on-windows-8-1-and-windows-10-offline/
Thank you, it helped.
You should mention that there is also an other issue. As soon as you use a WSUS server in your network, the installation will fail. Regardless of which updates are installed. The only way i found to solve this, was by disabling the WSUS for the time of
the installation.
Copied the \sxs directory locally to the server. GUI with alternate path then worked.
We are seeing this error, and our server does have access to the internet. Even while specifying source… installed the hotfix, and issue still exists…
I have tried everything, even security updates kb2966826/7/8 are not installed.
then why till am facing the same issue
Hi all, i found this is a big issues and found different solutions from a lot of source but all failed, Now follow the below steps i hope it will successfully work.
1. Search for Turn Windows Feature on or off in windows search option
2. just confirm Dotnet framework 3.5 & 2.0 option is checked or not.
3. after that it will start the download and apply the changes and successfully applied.
4. if that won’t work just go to group policy -> Computer Config -> Administrative Template – > Specify setting for optional component installation.. – > enable it and do the above process. it will successfully done.
For more help …..
http://esraebd.blogspot.com/2016/08/very-simple-and-easy-net-framework-35.html
I pointed it to the Window server iso file and it found the .Net files: worked.
thanks for share, to me Works
Carlos Santos
try this one if all else fails: adding a registry key and value as described here
https://www.404techsupport.com/2012/11/server-2012-you-must-use-the-role-management-tool-to-install-or-configure-microsoft-net/
[HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicing]
“RepairContentServerSource”=DWORD(2)
It worked for me. I was migrating an SBS 2011 to Windows 2012 R2 Essentials, and nothring else above worked but this blog.
Thanks
Edgar Santos
I just ran into this same issue today after building a slipstreamed image with NTLite. No matter what I did, I could not get dotnet 3.5 to install. I didn’t have any of the mentioned patches installed, I tried the GPO and that didn’t work and I also tried the registry edit. No matter where I pointed the sources too, it would not work. I started backing out updates and found update 3210132 causes the exact same issue. Once removed, installation worked like a charm. No reboot required. I’m hoping someone who runs into this issue sees this as I haven’t found this fix anywhere.
Removing 3210132 fixed the problem for us! What a PITA.
if you have install language packs installing .Net 3.5 fails.
Here, copy the source/sxs folder from the original language and the folder from an ISO which the language pack you installed into C:\sxs so that the folder includes MUI files for both languages before you run DISM:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /Source:C:\sxs /All /LimitAccess
now DISM works fine.
Dear Andre.Ziegler,
Your method works for my case.
My Win 2012 R2 Server does not contain both KB2966827 and KB2966828. When attempt install via GUI by point to ISO WinSXS Folder installation will failed. Using PowerShell with command line “Install-WindowsFeature –name NET-Framework-Core –source Z:\sources\sxs” or “dism /online /enable-feature /featurename:NetFX3 /all /Source:Z:\sources\sxs” both failed. When query using PowerShell “Get-WindowsFeature”, it will display .NETFramework 3.5 status as “Removed”.
After issue command “DISM /Online /Enable-Feature /FeatureName:NetFx3 /Source:C:\sxs /All /LimitAccess”, when check via PowerShell “Get-WindowsFeature” the .NETFramework 3.5 status change from “Removed” to “Available”. When confirmed from GUI it display as “Installed”.
I was blocking Windows Update via GPO, and the following worked:
remove-item hklm:\software\policies\microsoft\windows\windowsupdate
dism /online /enable-feature /featurename:NetFx3 /source:”\\server\share\sxs” /all /limitaccess
https://support.microsoft.com/en-us/help/2913316/you-can-t-install-features-in-windows-server-2012-r2
I’ve jsu encountered this problem. This worked a treat, many thanks Charity.
Sure..the server can install net 4 and 4.5 but not 3.5. Useless crap….period.
What a steamy pile of you know what. I am so done with this company on so many levels.
Waste of time and effort for what…….
100% reason I will do ZERO MS UPDATES until the end of the world. Pathetic, Deplorable, Shameful and Incompetent pundits.
I could not install .net 3.5 on Azure Windows Server 2012 R2 either from a download or from an iso locally. Whether it be from Add Role, command line or PS. I tried the various fixes that are listed, confirmed I had good DNS access from the server, etc. With help from Alex Lara at MS I found that KB4470630 was the problem. As soon as I uninstalled it, I could then use any of the methods to install .Net3.5 framework. Nowhere in any of the many articles that I reviewed on this matter was KB4470630 mentioned with regards to it preventing issues with the installation of .net I’m posting this out here so that if anyone else encounters it they won’t have to spend the time that I did troubleshooting this.
Thank you so much for sharing this! Spun up an Azure Windows Server 2012 R2 VM the other day and have been trying every single method and fix I could find. Finally uninstalling KB4470630 did the trick.