Does this mean .dll is "loaded"?

G

Guest

If I see a certain .dll path as shown in the example below:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls\C:\WINDOWS\system32\mydll.dll

Does it mean that the presence of hte registry key above makes such
mydll.dll is "loaded", registered or running?

I am evaluating an appication and the vendor is claiming that the .dll path
is just added to the registry key above, but the application is not active.
 
S

SvenC

Hi Mr Magoo,
If I see a certain .dll path as shown in the example below:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls\C:\WINDOWS\system32\mydll.dll

Does it mean that the presence of hte registry key above makes such
mydll.dll is "loaded", registered or running?

I am evaluating an appication and the vendor is claiming that the .dll
path
is just added to the registry key above, but the application is not
active.

Windows installer uses this information to keep track of dlls which might be
installed by different products and thus are potentially shared. So an
install count is used to delete the dll only when the last uninstaller has
run and no product uses that dll anymore.
This is typically a standard feature of installer products, so even if dlls
are only built for and used by one application they are often installed as
shared dlls.

Dll cannot run or by active by themselfes. They will always need a process
which loads them and call functions of them. You can use a tool like Process
Explorer which can show you which processes have which dll loaded. So you
can verify for yourself.
 
B

Ben Voigt [C++ MVP]

SvenC said:
Hi Mr Magoo,


Windows installer uses this information to keep track of dlls which might
be installed by different products and thus are potentially shared. So an
install count is used to delete the dll only when the last uninstaller has
run and no product uses that dll anymore.
This is typically a standard feature of installer products, so even if
dlls are only built for and used by one application they are often
installed as shared dlls.

On the other hand, if you saw something in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Windows\AppInit_DLLs then that would be loaded all the
time.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top