There are numerous 3rd party applications that require .NET 3.5 and/or .NET 2.0 such as QuickBooks, Profile, and more. Normally you simply go to: Control Panel, Programs and Features, Turn Windows Features On and Off, select .NET Framework 3.5 (includes .NET 2.0 and 3.0) and install.
However with Windows 10 it will want to “Download files from Windows Update” and then fail, primarily when joined to a domain that has WSUS (Windows Server Update Services) enabled, resulting in an Error code: 0x800F081F.
The problem also exists on Windows 8 and 8.1, with numerous suggestions to resolve including removing specific updates. These updates do not exist on Win 10, but if they relate to your problem see: http://www.askvg.com/fix-0x800f0906-and-0x800f081f-error-messages-while-installing-net-framework-3-5-in-windows-8/
To give credit where credit is due, Microsoft’s solutions to the Windows 10 problem are outlined in the following article: https://support.microsoft.com/en-us/kb/2734782
From that I was able to resolve using the following steps. :
- Attach a Windows 10 install ISO, either by inserting the install CD, USB, or a path to an ISO file on the network. The latter can be achieved by using the USB/ISO creation tool which downloads the files from Microsoft and creates the ISO from Microsoft: https://www.microsoft.com/en-us/software-download/windows10
- If you are using an ISO file you can mount it so that it can be accessed using a drive letter within Windows 8/10 by highlighting the ISO file and choose manage then mount, from the menu bar in Windows Explorer.
- Edit local group policy to look for your ISO when Microsoft Update cannot be accessed. Open group Policy by entering gpedit.msc in the search box or from an elevated command line.
- Locate the following policy: Computer Configuration | Administrative Templates | System
- In the right hand window, scroll down past the folders and locate the specific policy: “Specify settings for optional component installation and component repair”.
- Double click on the policy to open it, click the radio button “Enable”, and in the box “Alternate source path” enter the path to the necessary files. They are located in the \sources\sxs folder of the ISO. In my case this would be E:\sources\sxs
- Note: there is an option in the policy to “contact Windows Update directly” but this did not work for me or others.
- Force group policy to update by rebooting or from an elevated command prompt enter gpupdate /force
- Now you can return to: Control Panel, Programs and Features, Turn Windows Features On and Off, select “.NET Framework 3.5 (includes .NET 2.0 and 3.0)” and install. It should locate the files and install without a problem.
- I recommend a reboot after doing so.
NOTE: WINDOWS 10
– I recently had difficulties applying this method to a Windows 10 machine. I believe it may be related to it being an upgrade from 8.1, but I had to download the Windows 10 trial .ISO file from TechNet, mount it, and run the following command from an elevated command prompt. (Substitute your drive letter for ‘D:’, and path if necessary)
dism /online /add-package /packagepath:E:\sources\sxs\microsoft-windows-netfx3-ondemand-package.cab
Update: I am not sure when the change took place, but at least on Server 2016 and newer, during the install with “add roles and features” you will be prompted to point to the location of the files. No need to edit local group policy.