4

I am running Windows 10 Pro (Version 1809. OS Build 17763.437) and installed .NET 4.8 and afterwards learned that ILMergeGUI would not work with it. So I uninstalled 4.8 using “Uninstall Programs and Features,” and rebooted.

Now 4.7.1 is gone too, which was the version on the machine after a fresh install of Windows 10 on a new PC.

Yet when I try to install 4.7.1, I get an error that it, or a later version, is already installed.

And to top it all off, when I run this command:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version

this is the result: 4.8.03761.

I have now done a restore using the restore point created when upgrading to 4.8 and I'm back to 4.7.03190.

Tim
  • 635
  • 3
  • 10
  • 19
  • What version of Windows 10 are you using? It should not be possible to uninstall the .NET Framework built-into Windows 10. It should only be possible to uninstall the version that was installed (i.e. .NET Framework 4.8). Instead of submitting a comment edit your question to provide the necessary clarification required to answer your question. **If you are running 1903 then .NET Framework 4.8 cannot be uninstalled.** – Ramhound Apr 29 '19 at 22:40
  • @Ramhound: Question duly edited. Not running 1903, but 1809. As I mentioned, 4.7.1 was the version "out of the box" on this new machine. – Tim Apr 29 '19 at 23:28
  • Ok, so this whole situation is odd because in theory 4.8 is supposed to be fully backwards compatible. But it looks like the program in question explicitly checks the minor version and whitelists a few (?!?!?!). Should be an easy fix on the program side; I'll take a look when at a computer in a couple hours. – Bob Apr 29 '19 at 23:34
  • 1
    @Tim - What is the contents of `C:\Windows\Microsoft.NET\Framework`? There should be a folder that is named `v4.0.30319` which is what you want. What version (build) of 1809 are you using? – Ramhound Apr 29 '19 at 23:44
  • 1
    @Ramhound That's not true. At compile-time you can (optionally!) pick a version, which will then work on all newer Frameworks of the same CLR, i.e.the compiler (actually, the manifest) cannot block newer versions of the same CLR. There currently exists a CLR 2.0 and 4.0. .NET Framework 4.x are *all* CLR 4.0 and, at compile time, all treated as backwards-compatible. Someone has just decided to add a (unnecessary) runtime version check in the code here. – Bob Apr 30 '19 at 00:33
  • @Bob- It’s been longer than I would like since I targeted a specific version of .NET – Ramhound Apr 30 '19 at 00:51
  • “Search for .NET Frameworks” - The application in question is so stupid... – Ramhound Apr 30 '19 at 00:58
  • Right, so I'm assuming you're using the one from here: https://github.com/jpdillingham/ILMergeGUI. If you're happy building it yourself (and I assume if you're using ILMerge you can at least build C# source?) you should grab latest master and build that - someone has already added 4.8 to the version check, though there's no prebuilt release available for it. Personally, I'd rather change the version check to `>= 5` rather than whitelisting individual minor versions, and they seem to have missed a check elsewhere that's stuck at 4.6, but at the very least this one should run on 4.8. – Bob Apr 30 '19 at 01:09
  • 1
    To that end, I've created a PR with the `>= 5` check. Hopefully it'll be merged soon (though current master should already work on 4.8). As for the question here, you're in an odd situation with Framework versions but *in theory* downgrades within the CLR 4.0 branch should not be necessary - so hopefully you can just install and use 4.8 from here on. If you're lucky, someone will know how to perform the downgrade anyway and will answer that :) – Bob Apr 30 '19 at 01:15
  • 1
    The project maintainer has now created [an updated release](https://github.com/jpdillingham/ILMergeGUI/releases). Consider using that one. (Also, you can self-answer with the restore point answer.) – Bob May 01 '19 at 01:27

1 Answers1

1

Go to Update History -> Uninstall Update and then ...

Single installation:

Client Win 10: Uninstall Update KB4486153

Windows server 2016: Uninstall Update KB4486129

Update 1903:

Being a part of the Feature Update 1903, .NET 4.8 cannot be deinstalled except by a rollback to 1809 via control panel (Updates ->Recovery)

Requirements: Backup of 1809 is still existing under :\windows.old (Folder will be deleted 10 days after Update to 1903) and no disk cleanup has been done, as this deletes the folder too.

AZ_
  • 134
  • 3