kernel32.dll error: what the entry point and crash messages mean and how to fix them

kernel32.dll is the Windows NT BASE API Client DLL, the library almost every Windows program loads to open files, manage memory, start processes and threads, and read the time. It is part of Windows itself and cannot be installed or swapped on its own. When a program reports an error in it, the file is rarely damaged: most often the program asks for a function that your Windows version does not have.

Prefer to fix it yourself? The manual steps follow.

How to fix kernel32.dll errors

Read the whole error first. If it says that a procedure entry point could not be located in KERNEL32.dll, it names a function: that function is missing from the kernel32.dll your Windows has, so the program was built for a newer Windows than the one on your PC. Check the program's minimum Windows version and either update Windows or install a version of the program that supports yours. If the program crashes and Event Viewer names KERNEL32.dll as the faulting module, the crash happened while the program was calling Windows; update the program and its add-ons first. Only when every program fails, or System File Checker reports damage, is the Windows file itself the problem: then run Windows Update, sfc /scannow and DISM.

Never copy kernel32.dll from another computer, an older Windows or a download site into System32, SysWOW64 or a program folder. It does not add the missing function, Windows keeps using its own copy for programs, and a replaced copy in the Windows folders can stop Windows from starting at all.

The order of fixes for kernel32.dll errors: read the function name, compare with your Windows version, update the program or Windows, then sfc and DISM
The function in the message decides the fix: a newer program on older Windows needs another program version, not another file.

Step by step

  1. Write down the function name. An entry point error reads like this: The procedure entry point GetSystemTimePreciseAsFileTime could not be located in the dynamic link library KERNEL32.dll. The word between "entry point" and "could not be located" is the function the program needs. Search for it on Microsoft Learn: the Requirements table of every Windows API function lists the Minimum supported client. For GetSystemTimePreciseAsFileTime it is Windows 8, so this error appears on Windows 7 and older.
  2. Compare with your Windows version. Press Windows key + R, type winver and press Enter. The window shows your Windows edition, version (such as 22H2 or 24H2) and build. If the function needs a newer Windows than you have, no file will fix it: the program simply does not support your system. Check the program's download page for its system requirements.
  3. Install an older version of the program, or upgrade Windows. Developers often keep an older release that still supports Windows 7 or 8.1, sometimes called a legacy or long-term build. Install that one, or move to a supported Windows. On Windows 10 and 11, install every update offered in Settings, Windows Update, because the newest functions arrive with Windows updates and feature updates.
  4. Old program on new Windows: try compatibility mode. If an older program shows a kernel32.dll error on Windows 10 or 11, right-click its .exe, choose Properties, Compatibility, and run the Compatibility troubleshooter, or tick Run this program in compatibility mode for the Windows version it was made for. Also check that no old compatibility setting is ticked by mistake, because a wrong mode can cause the same error. Then install the newest version or patch of the program.
  5. Crash with KERNEL32.dll as the faulting module: fix the program. Open Event Viewer, Windows Logs, Application, and find the Error event at the time of the crash. If Faulting module name is KERNEL32.dll, the program crashed while calling Windows, usually because of its own bug, a damaged installation, an add-on or plugin, or not enough memory. Update or reinstall the program, disable its add-ons, and update the graphics and other device drivers.
  6. Install Windows updates and restart. Open Settings, Windows Update, install everything that is offered, including optional quality updates, and restart. Updates replace kernel32.dll with the current build for your Windows release, so a damaged copy is fixed in the same pass.
  7. Run System File Checker. Type cmd in the Start menu, right-click Command Prompt and choose Run as administrator. Run sfc /scannow and wait until it reaches 100%. It compares protected Windows files, kernel32.dll in System32 and SysWOW64 included, with the stored originals and repairs any that were damaged or replaced. Restart afterwards.
  8. If System File Checker cannot repair everything, run DISM. In the same administrator window run DISM /Online /Cleanup-Image /RestoreHealth. It repairs the component store that System File Checker copies its originals from, using Windows Update. When it finishes, run sfc /scannow once more and restart.
  9. Still failing in many programs: repair Windows in place. On Windows 11, Settings, System, Recovery offers Fix problems using Windows Update, which reinstalls the current version of Windows and keeps your files, apps and settings. On Windows 10 the same result comes from running Microsoft's installation media and choosing to keep personal files and apps. If Windows does not start at all, use Startup Repair from the recovery environment.

Download the genuine kernel32.dll for your Windows version

Each file below is Microsoft's own kernel32.dll for one Windows release, fetched from Microsoft's own server and checked against Winbindex, the index of the files in Windows images and updates. These files are for comparison: to confirm that a kernel32.dll you have is genuine, or to see which build your release should have. Copying one into Windows or into a program folder does not fix an entry point error, because the missing function is not in your Windows release, and replacing the file in System32 or SysWOW64 can leave Windows unable to start. Repair the real file with the steps above.

Older Windows releases

A free uGetFix account is needed to download. Sign in, or create one in a minute, and you come straight back here.

What not to do

Do not copy kernel32.dll from another PC or a newer Windows.

The file belongs to one exact Windows build and works only together with the matching KernelBase.dll, ntdll.dll and the kernel. A copy from Windows 10 or 11 placed on Windows 7, or from one Windows build on another, does not add functions to your system; at best Windows ignores it, at worst Windows no longer boots.

Do not put kernel32.dll in the program's folder.

For most libraries Windows looks in the program's folder first. kernel32.dll is one of the known DLLs that Windows always loads from its own folder, so a copy next to the .exe changes nothing. The error stays exactly as it was.

Do not download kernel32.dll from a DLL collection site.

You cannot tell which Windows release, build or architecture the file comes from, or whether it was changed. A copy that matches nothing Microsoft has published has no place on a PC. Use the genuine files above only to compare, and the checker below for a file you already have.

Do not take ownership of System32 to replace the file.

Guides that tell you to change the owner and permissions of kernel32.dll remove the protection Windows puts on its core files. A wrong file there breaks every program at once. System File Checker and DISM repair the file without touching permissions.

Do not use patched or extended kernel files on old Windows.

Unofficial packs that add newer functions to Windows 7 work by changing or redirecting kernel32.dll. Microsoft does not support them, Windows Update may undo them, and they stay on an operating system that no longer receives security updates. A supported Windows version is the real fix.

Check the copy on your PC

Choose the kernel32.dll you are unsure about, for example one you found outside the Windows folders. Its checksum is calculated in your browser and compared with 1,013 Microsoft builds of the file from Windows releases and updates.

or drop the file here

The file stays on your computer. Nothing is uploaded: the checksum is computed locally.

Found a kernel32.dll outside System32, SysWOW64 and System32\forwarders, for example in Downloads, Temp, AppData or a program folder? Windows never puts it there. That is a security question, not an error one. Is the kernel32.dll you found genuine? On 2-Spyware

The error messages and what each one means

The wording tells you which problem you have. These are the texts Windows shows, as written, with the file and a typical function name filled in.

The kernel32.dll error messages Windows shows, what each one means and the fix for each
Entry point and ordinal errors point to a Windows version mismatch; a faulting module line points to the program that crashed.
The procedure entry point GetSystemTimePreciseAsFileTime could not be located in the dynamic link library KERNEL32.dll.

The program asked Windows for a function that your kernel32.dll does not provide. This function needs Windows 8 or later, so the message is typical for new programs started on Windows 7. Other names appear in the same place; look each up on Microsoft Learn and compare the Minimum supported client with your Windows. Fix: a program version that supports your Windows, or a newer Windows.

The procedure entry point could not be located in the dynamic link library C:\Program Files\...\program.exe.

Windows 10 and 11 often name the program file instead of KERNEL32.dll, but the cause is the same: the program, or a library it brings along, was built for a newer Windows than the one running it.

The ordinal (a number) could not be located in the dynamic link library KERNEL32.dll.

The same problem with a function asked for by number instead of by name, usually from an old or modified program. Install the program's newest official version; a changed or cracked .exe often causes this one.

Faulting module name: KERNEL32.dll

A line from the Application log in Event Viewer after a crash. The program crashed while kernel32.dll was carrying out a call for it, often after the program itself raised an error that nothing handled. Look at the Faulting application name line: that program, its add-ons or its data are where to start. Update or reinstall it, then update drivers.

Exception code: 0xe0434352, Faulting module name: KERNEL32.dll

This exception code belongs to .NET programs. The real error happened inside the program and was passed up to Windows. The Event Viewer entry from .NET Runtime at the same minute names the actual cause; repairing or updating the program, or the .NET version it needs, is the fix.

The code execution cannot proceed because KERNEL32.dll was not found.

Rare, because no Windows starts without this file. On a working PC it usually means a broken program, a damaged Windows installation, or a program for another system run through a compatibility layer. Run sfc /scannow and DISM, then reinstall the program.

File facts

kernel32.dll describes itself as Windows NT BASE API Client DLL. It is one of the oldest and most central Windows libraries: programs call it to create and read files, allocate memory, start processes and threads, load other DLLs, handle errors and read the system time. Since Windows 7, Microsoft has moved much of that code into KernelBase.dll; kernel32.dll keeps the same function names and forwards many calls to KernelBase.dll, so existing programs keep working. What Windows reports for the genuine file:

Description in the file
Windows NT BASE API Client DLL
Where the genuine kernel32.dll belongs
C:\Windows\SysWOW64C:\Windows\System32

On 64-bit Windows, System32 holds the 64-bit file and SysWOW64 the 32-bit one used by 32-bit programs; the folder names are historical. kernel32.dll is listed among the known DLLs (registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs), which means Windows uses its own copy for every program and never takes one from a program's folder. The genuine file is signed by Microsoft and shows Windows NT BASE API Client DLL under Properties, Details, File description. Sizes depend on the release: in Windows 11 24H2 and 25H2 the 64-bit file is 861,992 bytes and the 32-bit file 707,744 bytes; in Windows 10 22H2 they are 784,792 and 650,272 bytes. Winbindex also lists a much smaller, unsigned kernel32.dll in System32\forwarders on some Windows 10 and 11 builds: it is part of Windows too.

How a program's call goes through kernel32.dll to KernelBase.dll and ntdll.dll, and why a copied kernel32.dll is never used
Programs call kernel32.dll, which forwards much of the work to KernelBase.dll; Windows always loads its own copy.

kernel32.dll versions by Windows release

Every Windows release has its own build of kernel32.dll, updated together with Windows almost every month. Winbindex lists 975 distinct Microsoft builds; the table shows the newest one indexed for each release and the update that delivered it.

Windows releaseFile versionDelivered bySize, 64-bit
Windows 11 26H110.0.28000.3086KB5124006, September 22, 2026862,104 bytes
Windows 11 25H210.0.26100.9711KB5127648, October 13, 2026861,992 bytes
Windows 11 24H210.0.26100.9711KB5127648, October 13, 2026861,992 bytes
Windows 11 23H210.0.22621.7582KB5129242, September 14, 2026815,560 bytes
Windows 11 22H210.0.22621.7582KB5129242, September 14, 2026815,560 bytes
Windows 11 21H210.0.22000.2836KB5044280, October 8, 2024786,528 bytes
Windows 10 22H210.0.19041.7725KB5129236, September 14, 2026784,792 bytes
Windows 10 21H210.0.19041.7725KB5129236, September 14, 2026784,792 bytes
Windows 10 21H110.0.19041.7725KB5129236, September 14, 2026784,792 bytes
Windows 10 20H210.0.19041.7725KB5129236, September 14, 2026784,792 bytes
Windows 10 200410.0.19041.7725KB5129236, September 14, 2026784,792 bytes
Windows 10 190910.0.18362.2274KB5013945, May 10, 2022723,656 bytes

Older copies of kernel32.dll found on PCs

Public DLL catalogues have collected 38 copies of kernel32.dll uploaded from PCs, from version 4.10.0.2222 to 10.0.19041.292. Many come from older Windows releases such as Windows 7 and 8.1. The table lists each with its checksums, so you can tell which one you have.

None of these replaces the file your Windows ships: the newest build indexed for Windows is 10.0.28000.3086, and each release keeps its own. If the check on this page finds your file in this list, it is most likely an older Microsoft build that was copied somewhere by hand. Remove the copy, and let Windows use its own.

VersionBuildSizeMD5SHA-1
10.0.19041.29264-bit748 KB3f7de1ebec982b762839c8c192f4d4b1f6526b1313b335f4954a2bfce54a81037125d4e8
10.0.18362.77864-bit707 KB4eda405e4c5661d188d0dc0712ff198ce454472f13b72a2c54b48d142dcf456d37e431ae
10.0.18362.32964-bit707 KB0f28bd01dc5e06f561e8c49ff4f5ddbe6f760e5583e17ee8acf5941811f98f357e329cd3
10.0.18362.32932-bit614 KBdd845184d57b66ad7ed1263fb89b396e87581f8fc62db275b6955fbce18b0871a2741df5
10.0.18362.8664-bit707 KBb0d70edd534fd9b66f18a18fb4d2e4e8926c093e3ad1ab8f5464e5d3191cb6dfd0b27b91
10.0.18362.164-bit707 KBaec7a212f781fdee765290b97f44816db4016d4a9016f977587bd5e4d194148ed350a3d2
10.0.17763.47564-bit707 KB183bebf0d0007b34a4c8d9ecaebcb94f8de080d3295fb21475715d4051ec9dbc3df972ba
10.0.17763.164-bit707 KBd385b6882bfe47bedf2a2b9547c91a16907eec7568423245054be9c59638f0e2bc04afad
10.0.17134.164-bit707 KBa8565440629ac87f6fef7d588fe3ff0f51a5d214c185e50804411b647c8ce42567566ce4
10.0.15063.29664-bit696 KB90224339656d3cfec43150209b4cd38e6b962b9571144c46b1959b89a9ca6c38ab031f2e
10.0.14393.064-bit686 KB6955067712f2f4752ca12192b08ef8606ee3e2d33012161659609dadea59a2164c5a5ceb
10.0.14393.032-bit614 KB67f79179bdfba4e2117bee1fa5d0d54e5d516cf6f34cb82a1b670e926a18b5922d20678e
10.0.14393.032-bit604 KB956db4b52f2ce6365ade6b5d2d74a267569a14d3be9a156f5c0cd416aaaf82750362a5bc
10.0.10586.064-bit686 KB1c9c6933a94c594de7366124b4dd6075ad3e678db0413eedd9aaf6c3446a6da73a6f5856
10.0.10586.032-bit604 KB44aac4307be433e5c730124eb9043543284fc88dadda2864e0cd1bf03bfa1622187aa049
10.0.10240.1638432-bit614 KB6407d861dfb1d295336efc8d12de2e5f52f5278cffcbad3255fc56ebc02a6cf78caa82e4
6.3.9600.1935864-bit1.3 MB9b048b35b934f748874c37eda9c6c5c20786a3dd52d0920b50b61a142d9b6a27f56efda5
6.3.9600.1705664-bit1.2 MBf3523e611ab0b0977b048263a12dcf2aa2c272e4f9327c9b4c91c99b1086c3563033d106
6.3.9600.1705632-bit1014 KBcc70f4c7ca6f8b49f21d2d1db765c1d05f17ba0a49c33f62fe9f04abdc990db609a11349
6.3.9600.1644164-bit1.2 MB142f612fe5988cbdaef4da16e38bd080495876cf3b7048246390d91584d7a2b4618a8357
6.3.9600.1638432-bit1014 KB5cd1d6701cf4cc52ec3c61a57af9533993412b8e89057b96edabc16255cf0a4f293c8379
6.2.9200.1685932-bit983 KB00bf1bf1b779ce1af41371426821e0c24fdbb1ced5dcdb96b9c87e90ce3e7ce276badf8e
6.1.7601.1840964-bit1.1 MBd2a513ee880d71bde7f0257f38b9d0190a9e4db67a30c505bba883ceaffe964e50131a5f
6.1.7601.1840932-bit1.1 MB76161b9d78a275f8f28dd674360131104cd3e572ae6f2f7913dd8f0da01340fffe5c47b0
6.1.7601.1822932-bit850 KB6933e2aff444a7a95d5c67e98449163e70b8460dc96f914709b34ae76638261475e94005
6.1.7601.1801532-bit1.1 MBac0b6f41882fc6ed186962d770ebf1d2f9ac70c562ba70dd7917e99b00ed6878531de66f
6.1.7601.1765132-bit1.1 MB99c3f8e9cc59d95666eb8d8a8b4c2beb754e133c87fd29a1432a7af8ab8c69f244eb7d99
6.0.6001.1863164-bit1.1 MB6adb508feadbdec41c194b4c03fa5201ba221e6054315840efb97744cdc2df88ee273a9b
6.0.6001.1863132-bit840 KB6ebbe14be54877c386c63ffed52d391deada749a6899043bec37394b7279ffead4f9b2e9
5.1.2600.578132-bit993 KB77c951b64413e80eec0359426dca938b032c73900051c14710295600802288bb9a0cdf8a
5.1.2600.578132-bit1014 KB7dc06bf4cbc3fcd7557d8d69dfbd49f53dcee7962121b1342492841d2014a153ba89cfa7
5.1.2600.551232-bit983 KB19563163bdbea684ed7caca71a0cc1173e26f97d10a3308a3c0d9173dd1b656c0d60a2fa
5.1.2600.218032-bit973 KB673505731aa42d4f635968c3754bebf1ebd2e2a242275aae9dae181008dd30562ef1668b
5.1.2600.218032-bit963 KB888190e31455fad793312f8d087146eb775191d293016d9541ddd6aef5ac94ab3776849a
5.1.2600.110632-bit932 KB8d452c28d7cad9b5bbdb3c41730305e9591e1749f76c1048baefd64e60970dddf99e3eab
5.1.2600.110632-bit911 KB8f162dc91d67d87c1a481bf602a9dac8af67eff89c1a9e4c3480816278111252908ad3d9
5.1.2600.032-bit922 KB4a7df9fc774af9743bdc0f343b97ec0a9fbd4f96a7ff79ed5f3102b13ec5e695333728db
4.10.0.222232-bit461 KB274443dda61273bae3a89ad7efa5e46ac6a877392b4ce83b6d89b562ee9f5014989ac1a1

Copies uploaded by users to a public DLL catalogue, read on 14 October 2026. We list their checksums so you can identify a file; we do not offer them for download and we did not verify each one against Microsoft's signature.

Questions people ask

What does "procedure entry point could not be located in KERNEL32.dll" mean?

The program asked Windows for a function by name, and the kernel32.dll of your Windows release does not contain it. The function was added in a newer Windows. Look up the named function on Microsoft Learn: its Requirements table shows the minimum Windows version. Then use a program version that supports your Windows, or update Windows. Replacing kernel32.dll does not help.

Can I download kernel32.dll to fix the error?

No. kernel32.dll is part of Windows and works only with the rest of the same Windows build. Windows always loads its own copy, so a downloaded file in a program folder is ignored, and one forced into System32 can stop Windows from starting. Download a genuine copy only to compare it with a file you have.

Why does a program say it needs a function from KERNEL32.dll that I do not have?

Programs are built against a specific set of Windows functions. When developers drop support for an older Windows, they start using functions that exist only in newer versions. The program then loads on the old system, finds the function missing and stops with this error. The program's system requirements tell you which Windows it supports.

Is KERNEL32.dll as the faulting module a sign that Windows is broken?

Usually not. Almost every crash passes through kernel32.dll, because programs call it constantly and it raises the error when something goes wrong inside them. If only one program crashes, fix that program. If many unrelated programs crash with the same module, run sfc /scannow, DISM and a memory test.

What is the difference between kernel32.dll and KernelBase.dll?

Both are core Windows libraries. Since Windows 7, Microsoft has moved much of the code of kernel32.dll into KernelBase.dll. Programs still call kernel32.dll, which forwards many of those calls to KernelBase.dll. That is why some crash reports name KernelBase.dll instead; the fix is the same.

Can I run a Windows 10 program on Windows 7 by copying kernel32.dll?

No. The newer kernel32.dll depends on matching versions of KernelBase.dll, ntdll.dll and the Windows kernel, and Windows 7 loads only its own copy anyway. Unofficial extended kernels exist, but they modify system files on a system that no longer receives security updates. The supported path is a newer Windows or an older version of the program.

Is kernel32.dll a virus?

The copies in System32 and SysWOW64 are genuine Windows files and essential: Windows does not start without them. Malware does not need to replace kernel32.dll, it simply calls its functions like any other program. A kernel32.dll in another folder, such as Downloads or AppData, is not Windows' copy: check it with the tool on this page and read the security page linked above.

Related guides

Fix

How to fix Entry Point Not Found error in Windows?

Fix

How to fix KernelBase.dll causes application crashes in Windows?

Fix

How to fix 0xc0000139 BSOD error in Windows?

Fix

How to fix EXCEPTION_ACCESS_VIOLATION error on Windows 10?

Sources

File data read on October 14, 2026.

About the authoruGetFix Editorial TeamEditorial team

The editors who write and check uGetFix guides and reference pages. File facts are read from Microsoft's own installers and documentation, and every page shows the date its data was read.

Questions and experiences

Ask about this page: members and our editors answer. Reading is open; writing needs a free account.

0 comments

…

4,322 members already hereThey read, write, comment and vote. 0 verified · 31 joined this year