Alan:
It's all part of the concept called "Chaos and Complex Systems" in a computing
platform. It's all about the reliability of a system and how changes made to a
complex system have "ripple effects." A computer OS is a complex system. The
end-results are the chaos factor. The most stable PC is one that is plain
vanilla. As software is installed and removed, as the user modifies the GUI and
as the user performs updates and service packs, the system deviates from the POV
of that plain vanilla system. As changes are made the reliability factor of the
system inevitably decreases. Eventually a change can cause complete instability
in that system. This can be exhibited by all sorts of maladies. Kernel32
errors, MSVCRT errors, BSoD, are just some of the errors that are notable.
In this case another replier indicated "Microsoft Knowledge Base Article -
328512" which states...
"This may occur if you have installed third-party Internet security software.
When you first install this kind of software, you configure it to recognize known
services, such as IIS. The software permits these authorized services to access
the Internet, but it refuses Internet access to any unknown applications, because
this is typically a sign of a security breach on the server."
While KB article does not specifically state SP4, I surmise that it can be
applied. In this case the addition of "third-party Internet security software" is
blamed.
I always ask people to perform a search on their platform for the DLL,
MSVCRT.DLL.
I will bet you that not only do you have multiple copies of this DLL but you have
multiple versions of this DLL as well. This is the perfect example of how
changes to a system can affect said system. In this example, one program, call
it FOO.EXE, calls MSVCRT.DLL. It just so happen that it was installed in the
same directory as FOO.EXE. Lets also say that the version of this DLL is
6.0.8168.0. now another program, call it MyProg.EXE, needs a library function
found in that DLL. It makes the call and expects version 6.1.9844.0. Since
version 6.0.8168.0 is loaded already it tries to get the functional results
required from that DLL. However, that is an older DLL and it might not return
the results required by MyProg.EXE and therefore it generates errors.
The above is a simplification of the Chaos that can occur due to the ripple
effect of two or more versions of the MSVCRT.DLL.
I like to "model" this kind of effect by a small neighbourhood pond. The pond is
not too deep, say two feet. It is not round and has irregular sides around the
edges of the pond. I now throw a stone into the center of the pond. You and I
both know that when I throw this stone into the pond it will create a splash and
create concentric ripples that will emanate from the center of this "disturbance"
to this pond (the system). We know the results of throwing the stone and we can
predict and expect with a certain level of certainty the results when the stone
hits the surface. However, those ripples that emanate from the center of the
disturbance now reach the pond edges and are reflected back into the pond. Here
is where the results become less certain as the reflected ripples cause nodes and
anti-nodes. The location of these nodes arte dictated by the irregularity of the
ponds edges. This is where the chaos factor comes in. When the stone was
thrown, we predicted the outcome. But when the ripples of the disturbance
reached the edges of the pond, we no longer could predict the outcome, thus the
chaos factor.
Dave