Working with the AppInit_DLLs registry value (197571)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • the operating system: Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP

This article was previously published under Q197571

SUMMARY

The AppInit_DLLs value is found in the following registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows

All the DLLs that are specified in this value are loaded by each Microsoft Windows-based application that is running in the current log on session.

MORE INFORMATION

Note This feature may not be available in future versions of the Windows operating system.

The AppInit DLLs are loaded by using the LoadLibrary() function during the DLL_PROCESS_ATTACH process of User32.dll. Therefore, executables that do not link with User32.dll do not load the AppInit DLLs. There are very few executables that do not link with User32.dll.

Because of their early loading, only API functions that are exported from Kernel32.dll are safe to use in the initialization of the AppInit DLLs.

We do not recommend that applications use this feature or rely on this feature. There are other techniques that can be used to achieve similar results. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

134655 AppInit_DLLs registry value and Windows 95

The AppInit_DLLs value has type "REG_SZ." This value has to specify a NULL-terminated string of DLLs that is delimited by spaces or by commas. Because spaces are used as delimiters, do not use long file names. The system does not recognize semicolons as delimiters for these DLLs.

Typically, only the Administrators group and the LocalSystem account have write access to the key that contains the AppInit_DLLs value.

Modification Type:MajorLast Reviewed:2/19/2005
Keywords:kbDLL kbinfo kbKernBase kbRegistry KB197571 kbAudDeveloper