Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Apr 1997 13:00:49 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        james@wgold.demon.co.uk (James Mansion)
Cc:        nate@mt.sri.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Price of FreeBSD (was On Holy Wars...)
Message-ID:  <199704202000.NAA08446@phaeton.artisoft.com>
In-Reply-To: <3359FCA3.1398@wgold.demon.co.uk> from "James Mansion" at Apr 20, 97 12:23:15 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > Re-installs are pretty common in the user world.
> 
> How odd.
> 
> I don't think I reinstalled NT ever on this box, which had vanilla 3.51
> from new (and W95 on a FAT partition) and its been up through every
> service pack up to 4.0sp2, which I reverted out admitedly, tho the
> backout process provided worked fine.
> 
> The only time the box isn't up with NT is when I boot Linux on it,
> which I started to do recently when my Linux/UnixWare box died.
> 
> Have you tried to figure out WHY these reinstals are necessary?

I have had to reinstall  Windows95 once.  I was doing FS developement,
and got an offset wrong in a TSD, and it spit up all over my disk.  It
was definitely my fault.


I have had to reinstall components of Windows 95 and NT more frequently.

The most common problem is CTL3D32.DLL, which is different between
Windows95 and NT, and which is badly documented.

The "Install Shield" facility for installing WIN32 software in a
platform independent way requires the NT CTL3D32.DLL (what they call
the "Unicode version".  The Windows95 code requires the "ANSI version",
and NT itself requires the "Unicode version".

ODBC/OLE code has an extended version with a more complex underlying
implementation.


This is documented in one small file in the SDK, and has changed in
every one of the last three major number revisions.


Luckily, the version number is the same in everything, so you can tell
them apart.  Not.


Because of this, many people get this wrong and install the wrong one
when they naievely hack together an install and test it in a single
environment.

The miss out on the other 4 out of 5 versions of the DLL.

Luckily, Microsoft was brilliant, and, other than the ODBC/OLE crap,
none of the DLL's is a subset of the interfaces of the others; they
all have incompatible entry points, with a small intersection set.
As long as you write your code to only use the subset of interfaces,
you won't have problems.  Almost nobody does this, though.

So it's the developers who fail to buy the secret decoder rings from
Microsoft who are screwing you up... or Microsoft, for requiring them
in the first place.


					Regards,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704202000.NAA08446>