So today I got a new USB key. It's a Kingston Data Traveler. 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 supprized 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 comming ahead of time. In December I had looked at trying to get picutres 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. Luckaly, 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 compained 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 accidentaly 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 definatly 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 peices (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 dependancies 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 compatibiltiy status of the files from whatever source I choose. Unfortunatly ReactOS's compatibility page doesn't jump out at me in searches (I remember seeing it once or twice). I also beleive 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 dependancies 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 extremly close nowadays). I also beleive 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...