Backport of .NET 2.0 - 3.5 to Windows 9x
Go to file
2024-04-19 17:19:15 -07:00
.github/workflows switch to live patching MSIL approach 2024-04-19 13:40:33 -07:00
bin switch to live patching MSIL approach 2024-04-19 13:40:33 -07:00
img add image to repo 2023-10-30 21:54:12 -07:00
msil switch to live patching MSIL approach 2024-04-19 13:40:33 -07:00
patches patch ngen.exe 2024-03-18 12:11:56 -07:00
setup switch to live patching MSIL approach 2024-04-19 13:40:33 -07:00
wrappers user32: implement NotifyWinEvent 2024-04-19 13:40:20 -07:00
.gitignore add dotnet9x.exe to gitignore 2024-03-18 13:33:46 -07:00
COMPILING.md added setup, dotnetfx20, and msie501 2023-10-24 19:06:23 -07:00
README.md Update README.md [skip ci] 2024-04-12 15:34:24 -07:00

.NET Framework 2.0 - 3.5 for Windows 9x

Introduction

This project is a work-in-progress backport of .NET Framework 2.0 - 3.5 to Windows 9x. Currently 2.0 is believed to be largely functional while work on 3.5 has just begun.

Officially, .NET Framework 3.5 never supported anything below XP, and .NET in general never supported 95. This project changes that, backporting CLR 2.0 to 95 and Framework 3.5 to 9x.

Installation

Windows 95

.NET CLR 2.0 requires the following to be installed:

  • Windows 95 B (OSR 2) or newer. Currently older versions will not work, however I am investigating ways to get around this requirement (see below).
  • Internet Explorer 5.01. The installer is packaged in this repository at bin/msie501. One day I plan to make it an automatic part of the installation process, however for the time being you'll have to run it manually.
  • Microsoft USB Supplement. The installer is packaged in this repository at bin/usbsupp or may be on your Windows 95 install disc at other/updates/usb. This is why 95 B is necessary, the USB supplement makes patches to VMM32.VXD that allow .NET to work, and it isn't available on RTM/A. I am currently investigating why this is necessary and whether it can be patched out.
  • Optional:

Once those are installed, simply download dotnet9x.exe from the Releases tab and install! After that, applications written for .NET Framework 2.0 - 3.5 should run.

Known Issues

In my testing, this appears to largely work now, but .NET may still make some calls to missing system functions that need to be patched or reimplemented. If you run into an unexpected exception or error message, feel free to make a thread in the Issues tab.