windows dll's

ricky31415ricky31415 Member Posts: 6 ■□□□□□□□□□
I've been wondering about this for a while, can anyone help?

How does Windows know what DLLs are installed?

Comments

  • PlantwizPlantwiz Mod Posts: 5,057 Mod
    DLL = Dynamic Link Library

    http://support.microsoft.com/dllhelp/


    The DLL itself is a library, so the OS sort of 'knows' because it is all catalogued.

    Perhaps someone else has a better explanation?
    Plantwiz
    _____
    "Grammar and spelling aren't everything, but this is a forum, not a chat room. You have plenty of time to spell out the word "you", and look just a little bit smarter." by Phaideaux

    ***I'll add you can Capitalize the word 'I' to show a little respect for yourself too.

    'i' before 'e' except after 'c'.... weird?
  • JDMurrayJDMurray Admin Posts: 13,088 Admin
    A DLL is a library of code routines that is used to provide specific functionality to a Windows program. The functionality might be network access, math operations, cryptographic functions, graphical capabilities, etc. Almost every operational component of Windows that you've ever heard of (Win32, COM, OLE, MFC, DDE, DirectX, GDI, .NET Framework, etc.) is packaged as one or more DLLs.

    DLLs are called "dynamic" because they are loaded by running programs (that is, .exe files). The older counterpart of a DLL, static link libraries, can only be linked to a program when the program's exe file is built (that is, compiled, assembled, and linked). DLLs are necessary for Window memory management because they can also be unloaded from memory when no longer needed.

    DLLs are always associated with a Windows process (that is, a running program) and can't run by themselves. (DLLs are only loadable; they are not self-executing like .exe program files.) Windows knows what DLLs are loaded by all running processes. This fact can't be hidden from or by Windows.

    If a DLL needs to run, but has no associated .exe file to load it, Windows provides the Service Host service to allow DLLs to run without the aide of a specific program. This explain why you see so many svchost.exe processes running in the Processes List in Task Manager. These are where the Malware DLLs mostly hide.
  • Non-Profit TechieNon-Profit Techie Member Posts: 418 ■■□□□□□□□□
    why do you ask? if you are trying to manually install a dll that you may have grabbed from another source, then just go to the dos promp and at the correct path, usually if not always windows\system32, just type REGSERV32 space and then the dll name :) works for me ;)
  • JDMurrayJDMurray Admin Posts: 13,088 Admin
    Not all DLLs are "installed" in the registry. Only those with COM (ActiveX) interfaces are actually registered using regsvr32. The older and more common Win32 DLLs are not registered in any way, and Windows doesn't know about them until they are loaded into memory by a running program.
  • Non-Profit TechieNon-Profit Techie Member Posts: 418 ■■□□□□□□□□
    very cool. good to know. yeah i only knew about regserv because of a bunch of programers i used to work with always had me do that when something wasnt working. thanks for the info.
  • JDMurrayJDMurray Admin Posts: 13,088 Admin
    When tech support has you re-register a DLL, OCX, or EXE file using regsvr32 they are making sure that the necessary registration information for that component is in the registry. Sometimes component registration information can be changed, removed, or overwritten by installation or uninstallation programs, by other components, or by people using the Registry Editor. Re-registering a component is just a way to make sure that the component's registration information correctly appears in the Windows registry.
Sign In or Register to comment.