[Virtualacorn-list] I now have no idea Why!?

Jeremy Nicoll - ml virtualacorn jn.ml.vac.83 at wingsandbeaks.org.uk
Sat Dec 22 17:13:34 GMT 2012


Dave Symes <dave at triffid.co.uk> wrote:

>From the Win Event Viewer:
>***************************************
>Log Name:      Application
>Source:        Application Error
>Date:          22/12/2012 15:12:31
>Event ID:      1000
>Task Category: (100)
>Level:         Error
>Keywords:      Classic
>User:          N/A
>Computer:      Fan2
>Description:
>Faulting application name: VirtualRPC-AdjustSA.exe, version: 1.6.0.0, time
>stamp: 0x45799d29
>Faulting module name: atapicd.dll, version: 0.0.0.0, time stamp:
>0x3fba70a3
>Exception code: 0xc0000005

Googling for: dll 0xc0000005

(note I didn't specify the whole name of the dll because this one might well
be specific to VRPC, I dunno) produced a bunch of hits which have something
in common - a problem with the dll not being registered.

>The important bit is, "atapicd.dll" if I change its name so it's not used,
>then VRPC startsup and works okay.
>
>So the question is Why did it work, then not work, why does it work if I
>remove "atapicd.dll" from sight.

It works in the latter case because the code that would otherwise ask the OS
to load it for use either doesn't get run at all (because there's no such
file), or handles that file's absence without generating an error message. I
would expect its only effect would be to remove atapi cd support from VRPC. 


If you don't need the support that that dll provides, I'm not sure i'd fix
it.  If you do, you'll need to issue the right command to re-register the
dll.  There's some hints (because there are wrinkles) at:
http://stackoverflow.com/questions/4897685/how-do-i-register-a-dll-on-windows-7-64-bit


Why did a new install not work?  Well, possibly because the installer was
written before 64-bit Windows existed?  Maybe it doesn't issue the right
command either.  I'm not sure how it would ever have worked in that
circumstance, unless one or other of the 'elevate privilege' facilities - on
the installer or the vrpc .exe itself has worked around that.


Why would a dll lose registration?  Don't know.  Google might.


What's registration for?  I think it's to stop dll's which might appear on
your machine from anywhere being loaded by malicious code or good code, when
they think they're loading a same-named dll from a different folder.  The
registration process is telling the OS that this specific dll is trustable.

A dll is somewhat like a RO module or RO's shared C lib - it provides
runtime code that gets loaded once into memory but can be used by more than
one other program.  Very often an app's .exe won't contain much of the
actual 'meat' of what an app does; the real notty gritty is in a set of
dlls. 


-- 
Jeremy C B Nicoll - my opinions are my own.




More information about the Virtualacorn-list mailing list