How to fix the “Windows cannot find C:\Windows\system32\rundll32.exe” error message. This error is common after virus infections and may appear at startup or if you try to open items in the Control Panel. I saw this error recently on a customer’s computer and though I’d share how to fix it – it can affect XP, Vista and Windows 7 computers.
Cause – The actual text of the error message varies slightly by Windows version but they all point to the same error – the rundll32.exe file is missing (or corrupted). This is an important Windows system file – it should always be located in the Windows\System32 folder.
Why Is It Not Found? In most cases, the reason for its disappearance is that the file became infected by malware (e.g. a virus). If your antivirus software or malware cleanup was unable to ‘clean’ the infected file, the file would have been quarantined or deleted – good for removing the virus but bad for leaving you without an important system file.
Solution – replace the missing rundll32.exe with a new version. There are several ways to do this depending on your system and level of experience.
1. Copy the file from a backup – Windows may have previously stored a backup of the file in one of the following locations:
XP – Windows\System32\Dllcache
Vista/Windows 7 – one of the subfolders within Windows\Winsxs
These directories include a backup of many system files which can be used to replace those which are corrupted or missing. [In Vista/7 you will need to search the Winsxs subfolders (including hidden and system files) to find the backup rundll32.exe file if it is present]
If the backup file is available, copy it to the Windows\System32 directory and restart the computer – the error message should not reappear and Control Panel items should now open. If the backup file is not present, use one of the following solutions.
2. Use System File Checker (SFC) – System File Checker (SFC) is a utility in Windows that scans for and restores missing or corrupted Windows files. See how to repair Windows using SFC.
Note: the article describes how to run a full SFC check using the /scannow option. If you have had a recent virus infection this is the best option as it checks all important Windows files so can replace any others that are missing/corrupted, not just rundll32.exe
However, Vista/W7 users (not XP) can run a single file SFC check using the /scanfile option to save time. In this case the command would be:
[single space after sfc but no other spaces in this command]
3. Extract the file from a Windows installation disk – If you have a full Windows installation disk you can extract (copy) the original rundll32.exe file from the CD/DVD into your windows\system32 folder.
Tip: Windows 7 users who do not have a full installation DVD can download a copy of the 32-bit and 64-bit versions of Windows 7 Home Premium, Professional or Ultimate – with Service Pack 1 (SP1) integrated into them.
4. System Restore – I have left this until last because, if you have just cleaned up a malware infection, restoring back could reintroduce the malware if you don’t go far enough back… However, if you are sure your system was clean at a certain date, perform a system restore back to that date – this should put back the original copy of the missing rundll32.exe file.
The missing rundll32.exe error message is commonly encountered after virus infection and cleaning. However, it is relatively straightforward to fix and a better antivirus program may protect against this type of error in the future – see our latest review of the best (and worst) performing antivirus products.