.NET framework version upgrade

  • 328 Views
  • Last Post 19 August 2019
Surak256 posted this 10 July 2019

LCARS x32 has been using version 2.0 of the .NET framework for a long time now. Originally, this was because it was smaller than version 3.0 or 3.5, and was still supported on Windows 98. Unfortunately, it's starting to show its age, and I think we should consider upgrading to a newer version.

In particular:

  • Outdated encryption algorithms. .NET 4.0 and earlier do not support TLS 1.2. (although there are ways to get around that for 3.5 and 4.0). This has directly prevented me from simplifying the update process to fetch from GitHub directly.
  • Better compatibility with new versions of Windows. I am sick and tired of Windows trying to "help" by hiding the details of a multiple-monitor setup for "old" programs.
  • A few new features in the framework, such as a hash set would make things easier.
  • Applications using .NET 3.5 or earlier require a separate framework installation on newer computers. This is mostly an annoyance, but potentially confusing if you haven't seen it before.
  • Newer tooling. I don't know if it's even possible to get Visual Studio 2008 anymore, but newer framework versions have better support. This would also make it easier for new developers to get started.

The downsides of upgrading:

  • No way to guarantee that the new framework version is installed from the updater. The update would probably have to be manually installed.
  • We would have to drop support for some older versions of Windows. How many depends on which framework version we upgrade to.

Options:

  • Leave it as-is. I can probably eventually find workarounds for the issues I've listed, but I've also been fighting with them for two years now.
  • Upgrade to version 4.0. This is the last version that officially supports XP. I'm not sure how many of us are still using it, (and I strongly recommend you upgrade if you are) but this would get around most of the issues while maintaining maximum compatibility.
  • Upgrade to version 4.5. This only supports Vista and later, but it also fixes all the issues I've been having without any potentially-fragile workarounds.
  • Upgrade to latest version (4.8 at time of writing). I'm including this one for completeness, but this is probably unnecessary. Anything written for 4.0 or later will run on all the newer framework versions without problems. This would also bring the minimum supported OS up to Windows 7.

For reference: .NET Framework version history

Let me know what you think.

Live long and prosper,

Tim.

Order By: Standard | Newest | Votes
Trevor posted this 21 July 2019

Well, I would have to test the latest LCARS but I know that sometime in the past LCARS became unstable in 98.
So far as to say the only true stable 98 build was pre-alpha.

While it would be nice to continue to have my old laptop run under LCARS, if you really need to upgrade .NET then I guess you should go all the way since XP is no spring chicken either.

However, I was under the impression .NET was built in layers (according to the wiki page)
with the base CLI  and winforms as 1+2
wpf as 3
uwa as 4.5

Trev

Surak256 posted this 19 August 2019

Sorry, Trevor, I somehow didn't get a notification of your response.

The layers in that image are when things were introduced, but Microsoft has kept adding features to lower layers on newer versions of the framework. Most of the things I would want to use that are only available in newer versions are relatively minor additions, but with outsized levels of annoyance.

And yes, you're right. I wasn't able to keep '98 support stable, mostly due to being DOS based instead of NT-based, and rarely having access to a suitable testing computer. I'm running into similar issues now with things that worked perfectly well up to 7 having had all the internals changed in 10.

Live long and prosper,

Tim.

Close