Mini-Windows on a box
This page will show how to properly install and configure an emulated test box running mini-windows.
Introduction
Mini-Windows is a version based on Microsoft Windows 3.1 designed
to perform the installation procedures of windows 95/98/ME, therefore
it is very limited by design.
The goal of this work is to supply a working platform to test and
further customize the capabilities of this miniaturized windows version
in newer hardware/software conditions.
All external software to Microsoft derivates from GNU Open Souce
software, with the exception of Batcher (wich is freeware and
will hopefully be licensed as GNU soon..), the only licensed
material used in this project is MINI.CAB itself, wich will have to be supplied by your own licensed copy of Windows 95/98/ME.
Tools included:
qEmu - PC Emulator - developed by Fabrice Bellard (fabrice@bellard.org)
mkISOfs - Create ISO filesystem - developed by Jörg Schilling (schilling@fokus.fraunhofer.de)
HX Dos - HX DOS extender - developed by Japheth (mail@japheth.de)
Batcher - .script file interpreter - developed by Nuno Brito (nunobrito.azores@gmail.com)
Getting started
Start by unpacking all files and folders on an easy to acess path. By
default all configurations are already prepared to be used in path c:\Win31, it is possible to use any other paths, but please remember to configurate batcher to use the paths you select.
Here you see an example of how your files should look using default values
Find your MINI.CAB file from a Windows installation CD, any version of Windows 95/98/ME will work
Copy MINI.CAB file to the Source directory inside your working dir ("c:\Win31\Source" by default)
Run Batcher and check if all paths are
correct, including the ISO wich must be a filename without spaces
ending with extension .iso (e.g: Boot.iso)
Check if your main window on batcher contains all the necessary .script files, press start to begin building process
Right after the building is complete,
QEMU will be launched to test your newly made ISO file, wich will then
load the FREEDOS boot image.
If everything worked out fine, this should be the final result
How does this process works?
FREEDOS
First you a need a good boot disk, in this case we are using a freedos
boot disk because they are in constant development, so this is a good
way to ensure compatibility with more hardware in the future - this
image already contains drivers to support CD/DVD Roms, all files inside
the "Source" directory will be included in the CD. A ram disk is also
created with an approximated size of 90Mb, if you need lower/bigger
sizes, you'll have to manually edit the autoexec.bat file inside the
freedos image.
MINI.CAB
These are files wich originally derivated from Windows 3.1, but these
files haven't some differences that restrict their use for running
windows applications, if you wish to build a fully running Windowss 3.1
files, just overwrite the files in the source dir with the files from
an original Windows 3.1 installation - they will run even better.
HX-DOS
Files from the HX DOS project were used because of problems with the
original dosx.exe that came inside MINI.CAB, in order to load the open
source DOSX version was necessary to add a few more files. The goals of
HX is to natively run Win16/32 programs from DOS without needing an
instalation of windows.
MKISOFS
Is a general purpose tool that creates an bootable ISO file
(filesystem) using a boot disk image and a folder with all the files to
include in this ISO. If you plan to use mkisofs from command line don't
forget to always include the boot image inside the folder that will be
processed by mkisofs - otherwise it will fail to create a new bootable
ISO file.
BATCHER
A custom script interpreter designed to test bootable media, inside
batcher you can select wich actions take place or wich .script are
going to be executed. For testing purposes it is not necessary to run
all scripts, after the first full processing take place, in most cases
you can just select the last two scripts that will build your ISO file
and emulate the booting process in QEMU.
QEMU
Fast, small and free PC Virtualizer wich will quickly run an emulated
PC using your newly created ISO file, in this distribution QEMU already
includes an emulated 50Mb hardrive disk where you can save all your
testings.
Recomendations
This is a very basic project wich is sill in an early stage of
development, most windows 16 bit applications are not supported in the
mini version, applications know to run are FileManager (wich cannot be
included due to license restrictions) and others.
At this point of development most 16 bit applications will crash due to: Application Error - Call to Undefined DynaLink
- because of this problem there is no possibility to use more freeware
applications. If anyone manages to workaround this issue, I would
surely appreciate
After searching for more information regarding this issue, here is a brief quote:
Error Message: Application Error. Call to Undefined Dynalink.
Cause:
This error occurs when Windows trips over an incorrect or outdated
dynamic-link library (.DLL) file. .DLL files contain information that
allows applications running under Windows to share code and other
resources to accomplish things efficiently. .DLL files included with
Windows allow Windows-based programs to operate efficiently under
Windows. Most often, that outdated file is Toolhelp.dll. The error
message also can occur if older versions of Shell.dll, Olecli.dll,
Olesvr.dll, or Commdlg.dll are present.
Solution:
You need to remove that outdated .DLL file so Windows can find the
correct one. Check Toolhelp.dll first. The correct version should be in
the system subdirectory of Windows (C:\WINDOWS\SYSTEM) and be dated 3/10/92.
If you find a version of Toolhelp.dll with a different date on it,
delete it. Shell.dll, Olecli.dll, Olescr.dll, and Commdlg.dll should
all be dated 3/10/92 as well. Check for these drivers and remove older
versions. The 3/10/92 versions should be already installed in the
C:\WINDOWS\SYSTEM directory. If they are not, you'll need to install
them from your Windows installation diskettes.
Nuno Brito
http://nunobrito.pt.vu