Error 0x8004005 and error 0x800C0005 appears on the windows update when try to scan for updates. The reason of those errors are different but below we will try to explain and troubleshoot them in order to fix this issue.
Below Error codes:
Error 0x8004005 and error 0x800C0005
- Some dll (Dynamic Link Libraries) files are not registered
- Damaged dll (Dynamic Link Libraries) files
- Internet that does not allow HTTPS (SSL) connections because of firewall
Troubleshoot DLL issues Resolve Error 0x8004005 and error 0x800C0005
Damaged or missing certain DLL files required during the widows update generate the error above. The DDL can be corrupted by an incomplete installation, an incomplete uninstall, improper deletion of applications or hardware. Your computer is recovered from a virus or adware/spyware attack or by an improper shutdown of the computer. All the above activities may result in the deletion or corruption of the entries in the windows system files.
Using CMD (Windows Command Prompt)
So to bypass this issue we will need to fix those DLL. We will need to use regsrv32 command to register the missing or damaged dll. Follow the fix below:
- Open CMD (Windows Command Prompt) by clicking start and search for CMD.
- After that execute the below commands on CMD
- regsvr32 Softpub.dll
- regsvr32 Wintrust.dll
- regsvr32 Initpki.dll
- Click ok and restart your computer
Using Script/Batch file to do register the DLL files:
If you want to register the DLL using script or you need to deploy on network follow below steps:
- Open a notepad files and save like a fix_regedit.cmd
- Write a following commands
- Edit the path with your ddl file location if you have downloaded new ones
- Remove “C:\” to try to register them from default location
- Save the edited notepad.
- Run the script and the DLL will be registered
You can use also the commands below after regsvr32:
/u Unregister Server.
/s Silent, do not display dialogue boxes.
/i Call DllInstall to register the DLL. (when used with /u, it calls dll uninstall.)
/n Do not call DllRegisterServer, you must use this option with /i.
/c Console output (old versions only).
Check the firewall
First you need to check the firewall that is not blocking the internet connection and Windows update servers cannot be connected. Navigate to firewall and check if “HTTPS data transfer” is allowed on your PC. This is a bit tricky. Contact your network administrator to help on this if you are on big corporate and running your pc under network firewall.
Hard way to fix the issue – System Restore
This method can be used if you are not available to fix the issue with the solutions above.
- Login on your computer as administrator.
- On Start button select All Programs, Accessories, System Tools, and then click System Restore.
- In the new window, select “Restore my computer to an earlier time” option and click next.
- Find the most recent system restore point from the “On this list, click a restore point” list, select it, and then click next.
- Click next on the confirmation window.
- 6) Restarts the computer when the restoration is finished.
How to prevent DLL errors:
Below we will list some point to avoid DLL errors such Error 0x8004005 and error 0x800C0005.
- Avoid downloading and installing buggy and infected programs on your system, especially freeware and shareware programs from inauthentic sites.
- Avoid accepting DLL file to being overwrite during some program installation. If this necessary ensure that the file being overwritten is an older version or while uninstalling, be sure that you do not remove important DLL file from.
- Regularly clean your registry with the help of a reliable registry cleaner tool
- Keep your computer free from malware infections, such as virus, Trojan, adware and spyware infections
Resolving Error 0x8004005 and error 0x800C0005 is not difficult. We have explained all the ways to do that. Try to prevent happening this issue by using our recommendation above.