Iwas trying to test our products to make sure that they are compatible with Windows Server 2016. And during some testing, I mistakenly thought that I can simply "downgrade" .NET framework from 4.6 to 4. So I removed .NET 4.6 from Roles and from IIS.
Now, I can't install it back using installer (because its part of OS so it is asking me to enable it from role & features). And I can't start server manager (to install role & features) because it needs .Net 4 at minimum.
My problem:On Windows Server 2016, the .NET Framework 4.6 had been inadvertently uninstalled from my system while trying to fix some issues with IIS. It was removed using the Server Manager > Remove Roles and Features.
As a result, the Power Shell, Server Manager, and Event Viewer were no longer working. So I downloaded and installed the latest offline version of the .NET Framework 4.7 from Microsoft using the installer. However, it did not fix the problem when installed by clicking on the installer.
SolutionTo fix the problem, I had to install it from the command line using the "/all" switch. I unzipped the installer to a folder and here is the command that I used to install it. In the last argument in quotes is the path to the installer, which will need to be modified based on where you have the installer unzipped:
@Yoann same issue here. Clean install of Windows Server 2019 latest build, install .NET Framework offline installer 4.8, reboot and boom. Many native control panels, like Server Manager, requesting some 4.0.... version of .NET framework instead, failing to load.
I had the same issue and received zero help or support from Microsoft. Dell support googled and read back to me everything I had googled and tried already. Importing the above registry information fixed it without a reboot.
@DavidSherrill This is the exact fix! For us, our RMM tool stopped working on a server 2019 standard server. It's services wouldn't start. Event Viewer complained about .net. Also server manager wouldn't open with the exact message you mentioned. Applying this fixed it all. thanks!!
YOU ARE AN ABSOLUTE LEGEND! THANK YOU! THIS IS THE ONLY SOLUTION THAT WORKED! Every other solution I've googled of this problem has been some variation of "turn net framework on/off in the "turn windows features on or off" app" or "reinstall the newest version of .net" or "did you try restarting your computer?" (OF COURSE I TRIED RESTARTING MY COMPUTER!! DO THEY THINK I'M AN INFANT??)
Please excuse my novice status displayed in this question, but does one simply copy/paste the text in your registry update file, and does the resulting text file require the line number entries as displayed in your post?
The elimination of the source switch is done on purpose as this will force the server to look within its own SxS folder, not find the needed files, and then go to Windows Update for the files (hence step 1 where it is not pointing to a WSUS server).
I just manage to install it using a free trial evaluation of Windows 2012 R2. -fr/evalcenter/evaluate-windows-10-enterpriseI had to decompress the ISO, and Copy/paste the iso/sources/sxs folder to a temp folder to the server (less than 300Mo).Regards.
WSUS is defined within a GPO. I have an AD container that I have specifically defines the GPO to NOT use WSUS so that I can put a computer in that container and run GPUPDATE /FORCE. That computer will then use Microsoft site for updates. When complete I place the computer back in the container that has a GPO that specifies the WSUS server and again rung GPUPDATE /FORCE.
Using the Add Roles and Features does not provide a clear indication of the install process. Using the command dism.exe /online /enable-feature /featurename:NetFX3 /all allows the results to be more easily viewed.
For me, doing a Windows Update (Important updates only) fixed this issue. (This server wasn't connected to WSUS.) So one of the currently available updates corrected it. I'm not sure which one. Also, MS has released a fixit on this.
Microsoft released the final version of the .NET Framework 4.8 on April 18, 2019. The new version is available as both web installer and offline installer. Since Microsoft prefers distribution via the web installer, it is difficult to find working offline installer links.
The .NET Framework is offered as web and offline installers. The core difference is that the web installer requires an active Internet connection during installation as it needs to download components from Microsoft servers.
Use this link to download the official .NET Framework 4.8 Language Packs for offline installation. The language packs include translated error messages and user interface text; the text is displayed in English if no language pack is installed.
The Microsoft .NET Framework 4.8 is a new version of Microsoft's popular framework. It includes new features, fixes, and improvements compared to previous versions.
Microsoft released the .NET Framework 4.8 for Windows 7 Service Pack 1, Windows 8.1, and Windows 10, and all server platforms starting with Windows Server 2008 R2 Service Pack 1 (means Server 2012 R2, 2016, and 2019 are supported as well).
The changelog on the Microsoft Docs website highlights new features and changes in the new release. The log is quite technical in nature and intended for programmers who use the framework more than it is for Windows users and administrators who install it.
New features in .NET Framework 4.8 include high-DPI improvements such as improved support for Windows Forms interoperation in high-DPI WMF applications on platforms that support mixed-mode DPI scaling or support for Per-Monitor V2 DPI Awareness.
Another batch of Microsoft disk-clutter and complexity. Why? So programs may call some functions if programmers want to use it rather than write their own. It all means more complexity, more potential security risks and more patching. Where does it end!
With PowerShell, there is an additional step. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
The command for installing with PowerShell at the top of the page works for all versions of PowerShell from v2 on. This is provided as an additional note for folks who want a more terse command that is easier to remember.
With PowerShell, there is an additional step or two. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
With completely offline use of Chocolatey, you want to ensure you remove the default community package source (choco source list followed by choco source remove --name chocolatey, or however you would do that with a configuration manager like Puppet).
If you prefer to have the install.ps1 file already, comment out the download line in the batch file and download the install.ps1 from
community.chocolatey.org and save it as install.ps1 next to the installChocolatey.cmd file.
Run installChocolatey.cmd from an elevated cmd.exe command prompt and it will install the latest version of Chocolatey. You can not run this from powershell.exe without making changes to your execution policy.
When you have Visual Studio 2010+ and the NuGet extension installed (pre-installed on any newer versions of Visual Studio), you can simply type the following three commands and you will have Chocolatey installed on your machine.
This will not set Chocolatey as an installed package, so it may be a good idea to also call choco upgrade chocolatey -y and let it reinstall the same version, but at least it will be available for upgrades then.
There is one really important consideration when installing Chocolatey to a non-default location: Chocolatey only locks down the permissions to Admins when installed to the default location %PROGRAMDATA%\Chocolatey, which means the same thing as %SystemDrive%\ProgramData\Chocolatey.
If you are installing to another location, you will need to handle this yourself, i.e. restrict write access to Admins in case you so desire.This is due to alternative locations could have a range of permissions that should not be changed.See Why does Chocolatey install where it does and GitHub Issue 398 for more details.
If your server is restricted to TLS 1.1+, you need to add additional logic to be able to download and install Chocolatey (this is not necessary when running Chocolatey normally as it does this automatically).
This option should be a last resort and is considered to be a more advanced scenario - most things you do on Windows require administrative rights, especially surrounding software management, so you are going to be limited even in packages you attempt to install. If you are using the community package repository, there are over 200 packages you can install from the community repository without administrative permission - see =id%3Aportable+tag%3Aportable.
Once installed, Chocolatey can be upgraded in exactly the same way as any other package that has been installed using Chocolatey. Simply use the command to upgrade to the latest stable release of Chocolatey:
Note that when installing .NET Framework 3.5, they are version specific. You need to install .NET 3.5, which comes with each Windows 10 version. So, for Windows 10 2004, you will need to install .NET 3.5 from that media, 1909 from that media, and so on.
BTW I set up another test box and used the option that appears at the bottom of the same window as the error message (shown in yellow above) and this installed the feature very quickly. Am going to do this to all my servers as a precautionary measure.
if the above method does not work for you. Use add feature via server manager tick to install .net35 framework and on the next page specify the sources\sxs\path which should be you iso dvd. this should work.
In the remote case:
Using dism.exe will access the files under your user credentials.
Using the wizard or install-windowsfeature cmdlet will access the source files under the machine$ account. This is similar to how hyper-V, for example, accesses VHDs on a remote shared storage.
3a8082e126