How to correct common User32.dll file errors

Article translations Article translations
Article ID: 142676 - View products that this article applies to.
This article was previously published under Q142676

Support for Windows Vista without any service packs installed ended on April 13, 2010. To continue receiving security updates for Windows, make sure you're running Windows Vista with Service Pack 2 (SP2). For more information, refer to this Microsoft web page: Support is ending for some versions of Windows

Expand all | Collapse all

On This Page

INTRODUCTION

When you try to use a program on your computer, you receive an error that includes the User32.dll file in its description. This problem may occur for several reasons. This article contains general step-by-step methods that you can use to try to resolve this problem. The step-by-step procedures in this article will not take very much time to be completed.

This content is designed for a beginner computer user.

What is the User32.dll file?

Windows stores instructions for graphical elements such as dialog boxes and windows in the User32.dll file. The User32.dll file is necessary to the operation of Windows. If this file is damaged, deleted, or removed, the system will no longer work correctly. If a program or a service accesses User32.dll incorrectly, the program or the service will not work correctly.

User32.dll errors are typically corrected by repairing the User32.dll file or by reinstalling the program, the hardware component, or the driver that is causing the error. If these procedures do not correct the User32.dll error, you can restore your computer to a condition before the error appeared by using the Windows System Restore feature.

Note If you cannot start Windows because of a User32.dll error, see the "Start your computer in safe mode and use System Restore" section.

SYMPTOMS

Error messages are the most common symptom of User32.dll problems. User32.dll error messages describe the source of the error and indicate that the User32.dll file is involved in the error.

Here is an example of a User32.dll error message:
program Illegal system DLL relocation

In this example, program refers to the name of a program that caused the User32.dll error message.

This article discusses some common causes of User32.dll error messages. Additionally, this article contains some common resolution methods. Start with the first resolution method, and if the problem that you are experiencing persists, go to the next method.

Method 1: Use Windows Update to obtain any fixes that are related to User32.dll

The User32.dll problem that you are experiencing may be addressed by a Windows product update. To open Windows Update, follow these steps:
  1. Click Start, and then click Run.
  2. Copy and paste (or type) the following command in the Run box, and then press ENTER:

    wupdmgr
We recommend that you update your antivirus software after you run Windows Update. For more information about antivirus software that Microsoft supports, click the following article number to view the article in the Microsoft Knowledge Base:
49500 List of antivirus software vendors

Microsoft Windows Update Web site

You can also update Windows by using the Windows Update Web site. To do this, visit the following Microsoft Windows Update Web site:
http://windowsupdate.microsoft.com
Note You can also receive updates for Windows, Microsoft Office and other Microsoft applications in Microsoft Update. Microsoft Update brings you all the features and benefits of Windows Update plus downloads for other Microsoft applications that include Office. To use Microsoft Update, visit the following Microsoft Web site:
http://update.microsoft.com/microsoftupdate

Turn on Automatic Updates

To have Windows install important updates as they become available, turn on automatic updating. To turn on Automatic Updates in Windows, follow these steps:
  • In Windows Vista:
    1. Click Start, click All Programs, and then click Windows Update.
    2. In the navigation pane, click Change settings.
    3. Select the option that you want.
    4. Under Recommended updates, click to select the Include recommended updates when downloading, installing, or notifying me about updates check box, and then click OK. If you are prompted for an administrator password or for confirmation, type the password, or provide confirmation.
  • For more information about how to schedule automatic updates in Windows Server 2003, in Windows XP, and in Windows 2000, click the following article number to view the article in the Microsoft Knowledge Base:
    327838 How to schedule automatic updates in Windows Server 2003, in Windows XP, and in Windows 2000

If this method worked

If you try to perform the task that resulted in the User32.dll error message, and the error message does not appear, you are finished!

If this method did not work

If you try to perform the task that resulted in the User32.dll error message, and the error message still appears, go to the next method.

Method 2: Reinstall programs, hardware and drivers that are causing User32.dll errors

If the User32.dll error message appeared during or after you installed a program, a hardware component, or a driver, uninstall the program, the hardware component, or the driver. Then restart Windows, and reinstall the program, the hardware component, or the driver.
  • In Windows Vista: For information about how to reinstall programs, hardware or drivers in Windows Vista, click Start, click Help and Support, and then click Troubleshooting. You can also search for "uninstall or change a program," for "install a program," or for "installing new hardware."
  • In Windows XP: For information about how to repair programs, hardware, or drivers in Windows XP, click Start, click Help and Support, and then click Fixing a problem. You can also search for "add a program" or for "using add hardware."
For more information about how to fix problems with programs, with hardware, and with drivers, visit the following Microsoft Web sites:
Windows Vista Solution Center
http://support.microsoft.com/ph/11732/en-us/
Windows XP Solution Center
http://support.microsoft.com/ph/1173/en-us/
Windows Server 2003 Solution Center
http://support.microsoft.com/ph/3198
Windows 2000 Solution Center
http://support.microsoft.com/ph/1131

Manually update drivers

It is best to let Windows automatically install drivers for your hardware. You should avoid manually updating a driver unless Windows is unable to find a driver for one of your devices, and you were able to obtain a driver some other way. Or, you may have to manually update a driver if technical support personnel ask you to install drivers from a disc or from the device manufacturer's Web site. If you decide to manually update a driver, follow these steps:
  1. Click Start, and then click Run.
  2. Copy and paste (or type) the following command in the Run box, and press ENTER:

    devmgmt.msc
  3. If you are prompted for an administrator password or for confirmation, type the password, or provide confirmation.
  4. In Device Manager, locate the device that you want to update, and then double-click the device name.
  5. Click the Driver tab, click Update Driver, and then follow the instructions.

Determine what programs are using User32.dll

If you are not sure which programs on your computer are using User32.dll, use the Tasklist command-line tool to determine the programs that are currently using User32.dll. The Tasklist command-line tool displays the names of all programs that currently use User32.dll. To use Tasklist, follow these steps:
  1. Click Start, and then click Run.
  2. Copy and paste (or type) the following command in the Run box, and then press ENTER:
    cmd
  3. Type the following command, and then press ENTER: tasklist /m User32.dll
Here is an example of the output from the Tasklist tool:
Collapse this tableExpand this table
Image NamePIDModules
explorer.exe2532USER32.dll
OUTLOOK.EXE3128USER32.dll
iexplore.exe3232USER32.dll
tasklist.exe3012USER32.dll
Determine the program that is creating the User32.dll error, and reinstall the program.

If this method worked

If you try to perform the task that resulted in the User32.dll error message, and the error message does not appear, you are finished!

If this method did not work

If you try to perform the task that resulted in the User32.dll error message, and the error message still appears, go to the next method.

Method 3: Use System Restore

You can use Windows System Restore feature to restore Windows Vista and Windows XP to a time before you received the User32.dll error. For information about how to use System Restore in Windows Vista, visit the following Microsoft Web site:
http://windowshelp.microsoft.com/Windows/en-US/Help/9f6d755a-74bb-4a7d-a625-d762dd8e79e51033.mspx
For more information about how to use System Restore, click the following article numbers to view the articles in the Microsoft Knowledge Base:
936212 How to repair the operating system and how to restore the operating system configuration to an earlier point in time in Windows Vista
927525 After you install a device or update a driver for a device, Windows Vista may not start
306084 How to restore the operating system to a previous state in Windows XP
Important We recommend that you run Windows Update after you perform a system restore. For more information, see Method 1. We also recommend that you update your antivirus software after you run Windows Update. For more information about antivirus software that Microsoft supports, click the following article number to view the article in the Microsoft Knowledge Base:
49500 List of antivirus software vendors

Start your computer in safe mode, and use System Restore

If you cannot start System Restore, you can use Windows safe mode to start System Restore. For information about how to start Windows Vista in safe mode and to use System Restore, visit the following Microsoft Web site:
http://windowshelp.microsoft.com/Windows/en-US/Help/6b969e00-d4ec-4d3a-bffe-b96107e3bda91033.mspx
For more information about how to start Windows XP in safe mode and to use System Restore, click the following article number to view the article in the Microsoft Knowledge Base:
304449 How to start the System Restore tool at a command prompt in Windows XP
Use the Backup or Restore Wizard in Windows Server 2003 and in Windows 2000 to restore your computer to a time before you received the User32.dll error. For more information about how to restore Windows Server 2003 and Windows 2000, click the following article numbers to view the articles in the Microsoft Knowledge Base:
325375 How to troubleshoot startup problems in Windows Server 2003
315396 How to troubleshoot startup problems in Windows 2000
Important We recommend that you run Windows Update after you perform a system restore. For more information, see Method 1. We also recommend that you update your antivirus software after you have run Windows Update. For more information about antivirus software supported by Microsoft, click the following article number to view the article in the Microsoft Knowledge Base:
49500 List of antivirus software vendors

If this method worked

If you try to perform the task that resulted in the User32.dll, and the error message does not appear, you are finished!

If this method did not work

If you try to perform the task that resulted in the User32.dll error message, and the error message persists, unfortunately this content is unable to help you any further. So, your next step is to see the "Advanced Troubleshooting" section in this article. If you must use advanced troubleshooting, and you are not an advanced user, you might want to ask someone for help, or you might want to contact Support:
http://support.microsoft.com

Advanced Troubleshooting

Method 1: Use Recovery Console to restore the User32.dll file

Some User32.dll errors can be fixed by restoring the original User32.dll file from your Windows CD. Restoring the User32.dll file replaces the copy of User32.dll on your computer by using the original copy of User32.dll that is contained on your Windows CD.

You can use this method if you are running one of the following Windows operating systems:
  • Windows XP
  • Windows Server 2003
  • Windows 2000
For more information about how to restore files in Windows Vista, click the following article number to view the article in the Microsoft Knowledge Base:
936212 How to repair the operating system and how to restore the operating system configuration to an earlier point in time in Windows Vista
Note You may find it easier to follow the steps if you print this article first.

Before you perform this procedure you should have the Windows installation CD.
  1. Insert the Windows XP CD into your computer, and then restart the computer.
  2. If you are asked whether you want to start the computer from the CD drive, click Yes.
  3. When the "Welcome to Setup" screen appears, press R to start the Recovery Console.
  4. When you are asked to type the Administrator password, type the Administrator password. If the administrator password is blank, just press ENTER.
  5. At the command prompt, type the following command:
    cd %systemroot%\system32
  6. First, rename the damaged or corrupted file so that it is not deleted when you copy the original file. To do this, type the following command:
    ren USER32.DLL USER32.BAK
  7. Next, restore the original User32.dll file from the Windows CD to your computer. To do this, type the following command:
    expand [CD drive letter]:\i386\USER32.DLL %systemroot%\system32 /Y
    Note In this command, replace [CD drive letter] with the letter of your CD drive, such as D.
  8. To exit the Recovery Console and to restart the computer, type exit at the command prompt, and then press ENTER.
Important We recommend that you run Windows Update after you restore a file by using Recovery Console. For more information, see the "Method 1: Use Windows Update to obtain any fixes that are related to User32.dll" section. We also recommend that you update your antivirus software after you have run Windows Update. For more information about antivirus software that Microsoft supports, click the following article number to view the article in the Microsoft Knowledge Base:
49500 List of antivirus software vendors
For more information about the Recovery Console, click the following article numbers to view the articles in the Microsoft Knowledge Base:
314058 Description of the Windows XP Recovery Console
326215 How to use the Recovery Console on a Windows Server 2003-based computer that does not start
229716 Description of the Windows 2000 Recovery Console

If this method worked

If you try to perform the task that resulted in the User32.dll error message, and the error message does not appear, you are finished!

If this method did not work

If you try to perform the task that resulted in the User32.dll error message, and the error message still appears, go to the next method.

Method 2: Use the System File Checker tool to repair User32.dll

System File Checker lets you scan all protected files to verify their versions. If System File Checker discovers that a protected file has been overwritten, it retrieves the correct version of the file from the cache folder (%Systemroot%\System32\Dllcache) or from the Windows installation source files, and then replaces the incorrect file. You must be logged on as an administrator or as a member of the Administrators group to run System File Checker. For more information about how to use the System File Checker tool, click the following article numbers to view the articles in the Microsoft Knowledge Base:
310747 Description of Windows XP and Windows Server 2003 System File Checker (Sfc.exe)
936212 How to repair the operating system and how to restore the operating system configuration to an earlier point in time in Windows Vista

If this method worked

If you try to perform the task that resulted in the User32.dll error message, and the error message does not appear, you are finished!

If this method did not work

If you try to perform the task that resulted in the User32.dll error message, and the error message still appears, you might want to contact Support:
http://support.microsoft.com

MORE INFORMATION

When a program or a service tries to use a damaged, a missing, or a corrupted User32.dll, you receive an error message. In some cases, the error message occurs because a program or a service is trying to use User32.dll incorrectly.

For any User32.dll error, the error message indicates the cause of the specific problem, and the error message helps you determine how to fix the problem. Typically, User32.dll errors result from one or more of the following causes:
  • The User32.dll file is damaged, renamed or removed: The User32.dll file could be damaged during a system or software update. A damaged User32.dll file might be missing a routine that is required by a program that you installed. When the program tries to call these routines, an error occurs. A user might accidentally rename or remove the User32.dll file.
  • Program files are damaged or missing: If programs that call routines in User32.dll have damaged or missing files, the programs can make invalid calls to routines in User32.dll. Invalid calls to routines in User32.dll result in User32.dll errors.
  • Software calls for functions that do not exist in User32.dll: If a software program calls for functions in User32.dll that are not present, an error message occurs. This problem can occur if software is run on the wrong version of Windows.
  • A program does not allow for Windows to update User32.dll when it is necessary: An antivirus program might be configured to prevent upgrading any files on your computer.
  • A problem with memory allocation occurs: Windows reserves memory space for User32.dll. If a different file occupies memory space that is reserved for User32.dll, User32.dll is relocated in memory. Windows considers this relocation an “Illegal System DLL Relocation,” and this results in an error. These memory problems usually occur when software or files are installed in such an order that a file occupies memory space that is reserved for User32.dll.
  • Driver problems occur: Missing or damaged drivers or incompatible driver versions can result in calls to routines in User32.dll that are invalid. Invalid calls to routines in User32.dll result in User32.dll errors messages.
  • The Windows registry is damaged: A damaged Windows registry may result in a damaged User32.dll file.
  • Viruses infect User32.dll: User32.dll is a very important file for Windows, and there are some viruses that try to infect it.

REFERENCES

Windows NT 4.0 Resource Kit Supplement 4 includes the Dependency Walker tool. Dependency Walker displays which modules depend on Windows modules, such as User32.dll. For more information about Dependency Walker, visit the Microsoft Web site:
http://technet2.microsoft.com/WindowsServer/en/library/4e43ba6c-e297-422c-9873-9538cab18ee61033.mspx?mfr=true
315241 A Stop: 0xc000026C or Stop: 0xc0000221 "Unable to Load Device Driver" error occurs when you start Windows XP
935448 Certain programs may not start, and you receive an error message on a computer that is running Windows XP Service Pack 2: "Illegal System DLL Relocation"
184802 User32.dll or Kernel32.dll fails to initialize
931362 Advanced methods to troubleshoot a program that does not run as expected after it is installed on Windows Vista

Properties

Article ID: 142676 - Last Review: March 11, 2008 - Revision: 4.3
APPLIES TO
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Windows Vista Enterprise
  • Windows Vista Home Premium
  • Windows Vista Home Basic
  • Windows Vista Ultimate
  • Windows Vista Starter
Keywords: 
kbexpertiseadvanced kbfix kbresolve kbenv KB142676

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com