20050817

So today I got a new USB key. It's a Kingston Data Traveller. I decided 
that I should set it up so that I can use it with the laptop I use on a 
regular basis (a very old Toshiba Satellite 310CDS that's rattling). My 
first step was to consider the file system format. I was surprised to 
find that I couldn't format the device in NTFS format. I left it 
formated at the default FAT32 and decided to get on to other things.

At home tonight I spent some time downloading the drivers for the device 
and attempted to install them. The driver installer is an installshield 
created one that's been winziped into a self extracting file (sometimes 
called an sfx). Three layers of compression and installer junk managed 
to make the under 49KiB of driver files take over 1MB. The second 
frustrating thing I ran into is the installer is designed to detect the 
operating system, and refuse to install if it doesn't think it'll work. 
Well, I guess before that I had read a faq from Kingston saying that 
Windows 95 doesn't support USB drives at all.

Before I get ahead of myself again, I'll go back and say that I tried to 
do some research on what Windows 95 supports in the way of USB drives. I 
didn't manage to find much, but I did find the usual indications that 
earlier versions of Win95 didn't have any USB support, or that it wasn't 
working. I already knew that USB support worked on my computer.

I guess I should have seen things coming ahead of time. In December I 
had looked at trying to get pictures off a Fijitsu FinePix digital 
camera. It too had an annoying installer, and claimed not to work with 
Win 95. It further had a bunch of software bundled with it's 
installation that I still haven't bothered to figure out. Luckily, the 
installer for the driver itself wasn't hard to find, and I managed to 
get the device driver, and some of the software installed.

Despite getting things installed for the FinPix camera, the software 
complained about a missing dll function, and the driver didn't seem to be 
working. I decided that with my many licences of Windows, I should try 
to upgrade certain dll's with versions from newer versions of Microsoft 
Windows. My results were of course that some of the important dll's 
could not be replaced.

That got me thinking again about getting open source replacements for 
certain components. I looked for a while, and decided that without a 
better understanding, I might end up accidentally installing a dll that 
needs an Linux shared library (.so) or something. My following of the 
Wine Weekly News (WWN) on http://www.winehq.com and reading the ReactOS 
developers/kernel mailing list indicated that some dll's from these 
projects were defiantly dependent on components that I'm not ready to 
replace.

So more recently (getting back to the USB key), I did another search on 
the subject of replacing Microsoft Windows 95 dll's with OpenSource 
compatible versions. I'm also now considering replacing the kernel and 
other core files. I did find that WWN shows that they've been building 
PE versions of their dll's for Win32, but it's not clear which can 
replace the dll's in Windows 95. I get the impression that files from 
ReactOS might be a better replacement than Wine's as they'll have less 
Linux, BSD, Solaris related stuff in them and be created with binary 
compatibility in mind for even more core pieces (e.g. no required 
wineserver).

To date I've had no luck with either the USB key or digital camera under 
Windows 95. I've decided that in order to start replacing Win95 on this 
notebook, I'd better get a better understanding of the dependencies and 
compatibilities of different components. To do this I'd like to get or 
create a list of files, a graph (tree?) of the dependencies between 
files, and a fresh compatibility status of the files from whatever 
source I choose. Unfortunately ReactOS's compatibility page doesn't jump 
out at me in searches (I remember seeing it once or twice). I also 
believe both ReactOS and Wine don't list their compatibility in relation 
to Windows 95, but to whatever the latest version of the component is.

So the processes I'll probably want to take will start with listing the 
operating system files on the computer I'm targeting. Then I'll probably 
use something like dependency walker (depends.exe from systeminternals?) 
to figure out the dependencies of each files (as best I can). Then I'll 
look at the compatibility status on the web. Last I may have to look at 
the exports from both files. Since no one else seems to have published 
this information, I'll probably write up my findings as I go. I might 
even make it easier to install Open Source replacement components for 
other versions of Windows by performing the same process using fresh 
installs of other versions.

It's getting late now and I'm getting tired. I was planning to also 
write about how to use unshield and winzip to extract files from 
annoying installers. I also felt the need several times to explain why I 
wanted open source replacement files, and didn't upgrade Windows 
(remember I do have licences to newer versions). I guess I can quickly 
say that I like having free access to the source of what I'm using so 
that I or just about any other programmer can enhance/fix it. I also 
don't want to install Windows98 or later on this laptop because it may 
take more system resources, not run, and well I'd rather maximize the 
use of my Windows 95 licences before using other ones. I've tried 
ReactOS and Wine, and I know they're still not 100% replacements for 
Windows (although extremely close nowadays). I also believe that other 
people share my viewpoints and/or situations.

Maybe later this week I'll write more on the topic of replacing windows 
components or Windows Device Drivers (wdm, ndis, inf, the wonderful 
dpinst.exe and more), but for now it's time for me to get some sleep...

Originally from: http://www.boxheap.net/ddaniels/notes/20050817.txt

Comments are closed.