Backport of .NET 2.0 - 3.5 to Windows 9x
Find a file
2024-01-17 22:18:47 -08:00
.github/workflows just throwing shit at the wall at this point 2023-10-25 20:06:06 -07:00
bin Create README.md in "bin" folder [skip ci] 2024-01-17 22:18:47 -08:00
img add image to repo 2023-10-30 21:54:12 -07:00
msil Update README.md [skip ci] 2024-01-17 22:08:09 -08:00
patches Create README.md [skip ci] 2024-01-17 22:11:38 -08:00
setup Create README.md [skip ci] 2024-01-17 22:16:50 -08:00
wrappers Create README.md in "wrappers" folder [skip ci] 2024-01-17 22:15:21 -08:00
.gitignore exclude built installer 2023-10-30 20:41:29 -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-01-17 22:04:24 -08:00

.NET Framework 2.0 for Windows 95

Introduction

This is a mostly complete project to backport .NET Framework 2.0 to Windows 95.

Officially, .NET has never been available on Windows 95. The earliest versions (1.0/1.1) supported NT 4.0 and 98SE, but no earlier, meaning no C#/VB.NET/etc. app has ever been compatible with Windows 95. This project changes that, providing enough connective tissue to allow .NET (and hopefully most applications written for it) to run.

This project targets .NET Framework 2.0 since it was the newest version to support 9x and is still a supported build target in the latest Visual Studio 2022. Since .NET 3.5 uses the same version of the CLR (2.0), it may be possible to extend this further and backport all of 3.5 to 9x too, however there are no current plans to do this.

Installation

.NET Framework 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.

Once those are installed, simply download dotnet95.exe from the Releases tab and install! After that, applications written for .NET Framework 2.0 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.