Page created 11/01/2018

Virtualizing Windows 95 with Windows 7's VirtualPC

Last updated: 01/13/2018
Back to
Title page
Software compatibility

A tutorial by Pierre Albou



This page describes the steps I followed in order to create a virtual machine running Windows 95 in a Windows 7 professional host in order to check the compatibility of my recent AVStreamVideoConverter program with Windows 95 (the last of my computers running Windows 95 as its main operating system died sometime in year 2007).

1.
I created an new virtual machine in VirtualPC with 64 Mb of RAM, a 1Gb virtual hard disk drive and a single network card using NAT (all other options left to default values).
2.
I created images (.vfd files) of my original Microsoft 3 floppy disks set of MS-DOS 6.0.
(to do that you need a physical foppy disk drive (I still have one in an old 2001 desktop PC running windows XP) and a proper software, for instance WinImage)
Original
              Microsoft MS-DOS disks set

3.
I edited the .vmc file of the virtual machine (located by default in C:\Users\Pierre\AppData\Local\Microsoft\Windows Virtual PC\Ordinateurs virtuels where Pierre was the current user name and Ordinateurs virtuels is probably translated in the installation language of your host OS and means "virtual computers" in French language) as follows
<super_io>
    <floppy id="0">
        <pathname>
            <absolute type="string" />
...

<super_io>
    <floppy id="0">
        <pathname>
            <absolute type="string">c:\A.vfd</absolute>
...
and copied the image file of the first MS-DOS disk to c:\A.vfd on the windows 7 host.
4.
I started the virtual machine and it booted on the virtual floppy disk and started installing MS-DOS.

5.
When the installation program asked for the second floppy disk, I hibernated the virtual machine and copied (overwriting the existing file) the image of the second MS-DOS disk to c:\A.vfd on the host. Then I reopened the VM and proceeded with the installation.

6.
Same procedure as above for the third MS-DOS disk.
At the end of phase 6 I had a running virtual computer under MS-DOS 6.0, which I deactivated.

7.
I created a (not bootable) virtual floppy disk image (let's call it patch.vfd) containing:
  1. a generic CD-ROM MS-DOS device driver (I used the oakcdrom.sys file found on the Internet with my favorite search engine (I won't name it, to avoid triggering controversy))
  2. the ESDI_506.PDR, IOS.VXD and SCSIPORT.PDR files found here
  3. the 4.00.1113 version of the NDIS.vxd file (found on the Internet by the above mentioned search engine!)
Note that I am not sure the updated NDIS.vxd file is actually required.

8.
I copied patch.vfd to c:\A.vfd on the host, booted the virtual machine and copied under MS-DOS the A:\oakcdrom.sys file to the C:\DOS folder.
9.
I modified the configuration files of MS-DOS (under MS-DOS, with the edit command) as follows:
  • I added the device=c:\dos\oakcdrom.sys /d:oemcdrom line at the end of the config.sys file
  • I added the c:\dos\mscdex /d:oemcdrom line at the end of the autoexec.bat file
and I deactivated the VM.

10.
I created an image of the first of my 8 floppy disks set of Windows 3.1 and copied this image to the host's c:\A.vfd file.
Windows 95
              retail box

11.
I loaded my Windows 95 CD-ROM in the host's drive.
12.
I relaunched the VM and started the installation of Windows 95 from the CD-ROM (D:) from the MS-DOS prompt.
13.
When the Windows 95 installer asked for the location of a previous version of Windows, I simply entered A:
14.
At one time the installation failed and I got a black screen with the Erreur de protection Windows. Vous devez redémarrer votre ordinateur. message (Protection error. Restart your computer. in French language).
15.
I deactivated the virtual machine (nothing else was possible!), copied again patch.vfd to c:\A.vfd on the host and relaunched the VM.

16.
I started Windows 95 in command line mode and replaced the ESDI_506.PDR, IOS.VXD, SCSIPORT.PDR and NDIS.vxd files of the Windows\System folder by those located on the (virtual) floppy disk in drive A.

17.
I deactivated and relaunched the VM.
The installation of Windows 95 proceeded from the CD-ROM and succeeded.

18.
With the [Menu démarrer | Rechercher | Ordinateur] (Start | Search | Computer) command I was able to find my router and create a shortcut to the shared disk attached to it. I also found the other computers of my network running Windows XP and their shared folders (but not the Windows 7 machines, including the host). The Network Neighborhood remained stubbornly empty.
For all further installations I copied the required files to and from the shared disk.

At this stage I had a running and usable Windows 95 virtual machine. Nonetheless to comfortably use it and test my recent programs I added the following software (downloaded from the Internet, sometimes rather difficult to find, especially when Microsoft removed its download links for extremely old versions of their software like Internet Explorer 5).

Software
Downloaded installation package
Product version
Windows installer 2.0
InstMsiA.exe
2.0.2600.2
DCOM 95
dcom95.exe
4.71.1015.0
DCOM configuration tool
dcom9xCfg.exe
4.71.1015.0
DirectX 8.0
dx80eng.exe
4.08.00.0400
Internet Explorer 5.0
ie5setup.zip
5.00.2314.1003
Windows Media Player 7.1
(requires a prior installation of WMP 7.0, included in the zip file opposite)
Media Player 7.1 for Windows 95.zip
7.01.00.3055

(the purpose of the links provided in the above table is to ease the search for the corresponding obsolete software: I do not guarantee they will remain active for a long time nor that the software they offer is in any way appropriate for you, safe, legal or anything else, nor do I endorse any practice or statement of the corresponding Internet sites: you use them at your own risks)

In the process of installing the above software, I had to download and copy to the Windows\System folder the following DLL files (I do not remember exactly when and I am not sure all of these libraries are truly required):

MFC 4.2 redistributable files, MSImg32.dll (version 5.00.1693.1), OLEPRO32.dll (version 5.04261.1), Windows Socket 2.0 32 bits (version 4.10.0.2222)
To access the Internet from IE, I had to manually activate DNS in the TCP/IP configuration of the network card in Windows 95 and to enter the DNS IP address reported by my router, setup by my access provider.

Windows 95 browsing

Windows 95 with IE

Windows 95 with AVStreamVideoConverter running

Win95 AVSTreamVideoConverter