{"id":25458,"date":"2022-01-02T11:39:37","date_gmt":"2022-01-02T06:09:37","guid":{"rendered":"http:\/\/198.58.113.91\/blog\/?p=25458"},"modified":"2026-03-10T13:29:37","modified_gmt":"2026-03-10T07:59:37","slug":"comctl32-ocx-dependencies-not-registered-file-missing","status":"publish","type":"post","link":"https:\/\/www.winhelponline.com\/blog\/comctl32-ocx-dependencies-not-registered-file-missing\/","title":{"rendered":"Component COMCTL32.OCX or dependencies not registered: file missing or invalid"},"content":{"rendered":"<p>When you attempt to run a program created using Visual Basic (classic VB) on a Windows 11\/10 computer, the following error may occur:<\/p>\n<pre class=\"err\">Run-time error '339':\n\nComponent 'COMCTL32.OCX' or one of its dependencies not\ncorrectly registered: a file is missing or invalid<\/pre>\n<p><!--more--><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25459\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/comctl32-ocx-error339.png\" alt=\"comctl32.ocx error 339 missing\" width=\"394\" height=\"167\" \/><\/p>\n<p>If COMCTL32.OCX is missing from the Windows\\System32 or Windows\\SysWOW64 directory, you&#8217;ll receive the following error when running the RegSvr32.exe command-line:<\/p>\n<pre class=\"err\">The module \"C:\\Windows\\SysWOW64\\comctl32.ocx\" failed to load.\n\nMake sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.\n\nThe specified module could not be found.<\/pre>\n<p>Let&#8217;s see how to fix this error on any version of Windows, including Windows 11.<\/p>\n<p><em><strong>Note:<\/strong> There are two versions of the Microsoft Windows Common Controls. Comctl32.ocx contains Windows Common Controls 5.0 and was included with Microsoft Visual Studio 5.0. <a href=\"https:\/\/www.winhelponline.com\/blog\/mscomctl-ocx-dependencies-not-registered-missing\/\">Mscomctl.ocx<\/a> contains Windows Common Controls 6.0 and was included with Visual Studio 6.0.<\/em><\/p>\n<h2>Resolution<\/h2>\n<p>To fix the COMCTL32.OCX error, download the module and save it to <code>C:\\Windows\\System32<\/code> (for Windows 64-bit computers) or <code>Windows\\SysWOW64<\/code> folder (for Windows 32-bit computers).<\/p>\n<h3>Step 1: Download COMCTL32.OCX<\/h3>\n<p>The most recent version of <code>COMCTL32.OCX<\/code> is <code>v6.01.9839<\/code>. It&#8217;s included in <code>VB60SP6-KB3096896-x86-ENU.msi<\/code> (Microsoft Visual Basic 6.0 Service Pack 6 Security Rollup Update 1\/8\/2016) package from Microsoft Corporation. Here&#8217;s the download link:<\/p>\n<pre>https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=50722<\/pre>\n<ol>\n<li>Once downloaded, open the MSI package using the freeware 7-Zip utility.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-59526\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/comctl32-ocx-extract.png\" alt=\"comctl32.ocx extract using 7-zip\" width=\"701\" height=\"414\" \/><\/li>\n<li>Extract\/copy the module <code>COMCTL32.OCX<\/code> and save it to the <code>Windows\\System32<\/code> or <code>Windows\\SysWOW64<\/code> folder. On Windows 64-bit systems, copy the OCX file to: <code>C:\\Windows\\SysWOW64<\/code>. On Windows 32-bit systems, copy the OCX file to <code>C:\\Windows\\System32<\/code>. <em>(Hint: <a href=\"https:\/\/www.winhelponline.com\/blog\/find-windows-10-build-version-edition-bit\/\">How to Find the OS bitness<\/a>.)<\/em><\/li>\n<li>Then register the module using <a href=\"#regsvr32\">RegSvr32.exe command-line<\/a> as explained in &#8220;Step 2&#8221; of this article.<\/li>\n<\/ol>\n<div class=\"qt\">\n<h3>COMCTL32.OCX &#8211; File Information<\/h3>\n<pre>Filename   : COMCTL32.OCX\nVerified    : Signed\nPublisher   : Microsoft Corporation\nCompany     : Microsoft Corporation\nDescription : Windows Common Controls ActiveX Control DLL\nProduct     : COMCTL\nProd version    : 6.01.9839\nFile version    : 6.01.9839\nMachineType : <a href=\"https:\/\/www.winhelponline.com\/blog\/find-out-if-a-program-exe-file-is-32-bit-or-64-bit\/\">32-bit<\/a>\nMD5     : 2640ad05ab39321e6c9d3c71236ca0df\nSHA1        : 03d30b572f312c2b554e76b3a18fbbb4a38a9be4\nSHA256      : 634d27df20591de4d9b44dfb7f1ef03284c1d120f61b0801d668c1076d72cb6d\n<\/pre>\n<\/div>\n<p>Note that the MSI package contains the following OCX files, among many other files inside the archive:<\/p>\n<ul>\n<li>ComCt232.ocx<\/li>\n<li>ComCt332.ocx<\/li>\n<li>comctl32.ocx<\/li>\n<li>ComDlg32.ocx<\/li>\n<li>dbgrid32.ocx<\/li>\n<li>dblist32.ocx<\/li>\n<li>mci32.ocx<\/li>\n<li>MSAdoDc.ocx<\/li>\n<li>MSChrt20.ocx<\/li>\n<li>mscomct2.ocx<\/li>\n<li><a href=\"https:\/\/www.winhelponline.com\/blog\/mscomctl-ocx-dependencies-not-registered-missing\/\">mscomctl.ocx<\/a><\/li>\n<li>MSComm32.ocx<\/li>\n<li>MSDatGrd.ocx<\/li>\n<li>MSDatLst.ocx<\/li>\n<li>MSDatRep.ocx<\/li>\n<li>MSFlxGrd.ocx<\/li>\n<li>MShflxgd.ocx<\/li>\n<li>MSINET.ocx<\/li>\n<li>msmapi32.ocx<\/li>\n<li>msmask32.ocx<\/li>\n<li>msrdc20.ocx<\/li>\n<li>MSWINSCK.ocx<\/li>\n<li>PicClp32.ocx<\/li>\n<li>richtx32.ocx<\/li>\n<li>sysinfo.ocx<\/li>\n<li>TabCtl32.ocx<\/li>\n<li>wbclsdsr.ocx<\/li>\n<\/ul>\n<div class=\"rp\"><strong>RELATED:<\/strong> <a href=\"https:\/\/www.winhelponline.com\/blog\/fix-vcruntime140-dll-missing-error-windows\/\">[Fix] Missing VCRUNTIME140.DLL, VCRUNTIME140_1.DLL, MSVCP140.DLL<\/a><\/div>\n<hr>\n<h3><a id=\"regsvr32\"><\/a>Step 2: Register COMCTL32.OCX using RegSvr32.exe<\/h3>\n<p>Ensure you&#8217;ve copied the file <code>COMCTL32.OCX<\/code> to the correct folder:<\/p>\n<p>If you&#8217;re using Windows 64-bit edition:<\/p>\n<pre>C:\\Windows\\SysWOW64<\/pre>\n<p>If you&#8217;re using Windows 32-bit edition:<\/p>\n<pre>C:\\Windows\\System32<\/pre>\n<p>If <code>COMCTL32.OCX<\/code>\u00a0exists in the above location, then register the module using <code>regsvr32.exe<\/code> command.<\/p>\n<p>To register the module, open an administrator Command Prompt window and type the following command:<\/p>\n<p><strong>For Windows 64-bit systems:<\/strong><\/p>\n<pre>C:\\Windows\\SysWOW64\\regsvr32  C:\\Windows\\SysWOW64\\COMCTL32.OCX<\/pre>\n<p><strong>For Windows 32-bit systems:<\/strong><\/p>\n<pre>C:\\Windows\\System32\\regsvr32  C:\\Windows\\System32\\COMCTL32.OCX<\/pre>\n<p>You should see the following output\/message:<\/p>\n<pre>DllRegisterServer in comctl32.ocx succeeded.<\/pre>\n<div class=\"qt\">\n<h4>RegSvr32.exe throws the error 0x8002801c?<\/h4>\n<p>If the above command-line throws the error 0x8002801c, it means that the command was unable to write to the registry successfully. This happens if you run the command from a normal Command Prompt instead of the <a href=\"https:\/\/www.winhelponline.com\/blog\/open-elevated-command-prompt-windows\/\">admin or elevated Command Prompt<\/a>.<\/p>\n<pre class=\"err\">The module \"comctl32.ocx\" was loaded but the call to DllRegisterServer failed with error code 0x8002801c.\n\nFor more information about this problem, search online using the error code as a search term.<\/pre>\n<p>To resolve the error 0x8002801c, re-run the command-line from admin Command Prompt.<\/p>\n<\/div>\n<hr>\n<h3>What is COMCTL32.OCX?<\/h3>\n<p>COMCTL32.OCX is a <a href=\"https:\/\/www.winhelponline.com\/blog\/find-out-if-a-program-exe-file-is-32-bit-or-64-bit\/\">32-bit<\/a> module used by developers when creating applications using Visual Basic. COMCTL32.OCX module doesn&#8217;t ship with Windows, by default. Microsoft has informed that this module will be supported in Windows 11 (and earlier), but it has to be shipped along with the respective software. This means that the module won&#8217;t be available via <a href=\"https:\/\/www.winhelponline.com\/blog\/download-missing-system-files-dll-exe-sys-from-microsoft-site\/\">WinBIndex<\/a>.<\/p>\n<p>For more information, see the section named &#8220;Supported runtime files to distribute with your application&#8221; in the article <a href=\"https:\/\/docs.microsoft.com\/en-us\/previous-versions\/visualstudio\/visual-basic-6\/visual-basic-6-support-policy\" target=\"_blank\" rel=\"noopener nofollow\">Support Statement for Visual Basic 6.0<\/a>. Even now, there are lots of users who run their old VB apps on Windows 11\/10.<\/p>\n<div class=\"rp\"><strong>RELATED:<\/strong> <a href=\"https:\/\/www.winhelponline.com\/blog\/fix-for-richtx32-ocx-component-error-when-running-a-program\/\">Fix for RICHTX32.OCX Component Error when running a Program<\/a><\/div>\n<p>I hope this article helped you resolve the COMCTL32.OCX error and run your classic VB apps successfully.<\/p>\n<p><em>See also: <a href=\"https:\/\/www.winhelponline.com\/blog\/comdlg32-ocx-missing-invalid-dependencies-not-registered\/\">Missing Comdlg32.ocx error while running an application?<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you attempt to run a program created using Visual Basic (classic VB) on a Windows 11\/10 computer, the following error may occur: Run-time error &#8216;339&#8217;: Component &#8216;COMCTL32.OCX&#8217; or one of its dependencies not correctly registered: a file is missing or invalid<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[7],"tags":[191,988],"class_list":["post-25458","post","type-post","status-publish","format-standard","hentry","category-windows","tag-error-messages","tag-runtimes"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":25473,"url":"https:\/\/www.winhelponline.com\/blog\/comdlg32-ocx-missing-invalid-dependencies-not-registered\/","url_meta":{"origin":25458,"position":0},"title":"COMDLG32.OCX Missing or Dependencies not Registered","author":"Ramesh","date":"January 3, 2022","format":false,"excerpt":"The comdlg32.ocx module is used by classic Visual Basic programs. This ActiveX control is responsible for the functionality of common dialog boxes in your VB application. Common dialog boxes include the Open and Save As file dialog boxes; the Find and Replace editing dialog boxes; the Print, Print Setup, Page\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"comdlg32.ocx error 339 missing","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/comdlg32-ocx-error.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":25439,"url":"https:\/\/www.winhelponline.com\/blog\/mscomctl-ocx-dependencies-not-registered-missing\/","url_meta":{"origin":25458,"position":1},"title":"MSCOMCTL.OCX or dependencies not registered, file is missing","author":"Ramesh","date":"January 1, 2022","format":false,"excerpt":"When you attempt to run a program created using Visual Basic 6.0 or Visual FoxPro 6.0 on a Windows 11\/10 computer, the following error may occur: Component 'MSCOMCTL.OCX' or one of its dependencies not registered: a file is missing or invalid Let's see how to fix this error on any\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"vb6 common controls","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/vb6-common-controls.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":31487,"url":"https:\/\/www.winhelponline.com\/blog\/mscal-ocx-missing-not-registered\/","url_meta":{"origin":25458,"position":2},"title":"Component MSCAL.OCX Missing or Invalid or not Registered","author":"Ramesh","date":"January 4, 2023","format":false,"excerpt":"When you install a legacy program that uses the Microsoft Office 2003\/2007's calendar control (i.e., date picker control) module MSCAL.OCX, you may receive the following error: Component 'MSCAL.OCX' or one of its dependencies not correctly registered: a file is missing or invalid. Cause The above errors occur if the calendar\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"mscal.ocx missing or not registered","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2023\/01\/mscal-ocx-restore-cab.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2023\/01\/mscal-ocx-restore-cab.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2023\/01\/mscal-ocx-restore-cab.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":372,"url":"https:\/\/www.winhelponline.com\/blog\/fix-for-richtx32-ocx-component-error-when-running-a-program\/","url_meta":{"origin":25458,"position":3},"title":"Fix for RICHTX32.OCX Component Error when running a Program","author":"Ramesh","date":"July 22, 2008","format":false,"excerpt":"When you run an application built using (classic) Visual Basic 6.0, the following error message may occur, and the program terminates. Component 'RICHTX32.OCX' or one of its dependencies not correctly registered: a file is missing or invalid. (or) Failed to load control 'RichTextBox' from RICHTX32.OCX This happens if the program\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"richtx32.ocx error","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2008\/07\/richtx32-ocx-error.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":117,"url":"https:\/\/www.winhelponline.com\/blog\/register-dlls-elevated-using-the-context-menu\/","url_meta":{"origin":25458,"position":4},"title":"Register and Unregister DLLs Elevated via Right-click Context Menu","author":"Ramesh","date":"March 25, 2008","format":false,"excerpt":"This post tells you how to add register and unregister commands to the right-click menu for DLL and OCX files in Windows Vista, 7, 8 and 10. To register a DLL or OCX file, you usually need to run regsvr32.exe from an elevated Command Prompt. Registering system DLLs from a\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"regsvr32 error 0x80004005","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2008\/03\/regsvr32-error-80004005.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":235,"url":"https:\/\/www.winhelponline.com\/blog\/error-there-is-no-script-engine-for-file-extension-when-running-vbs-files\/","url_meta":{"origin":25458,"position":5},"title":"[Fix] Can&#8217;t find Script Engine Vbscript, and &#8220;no script engine for .vbs&#8221;","author":"Ramesh","date":"April 27, 2008","format":false,"excerpt":"When you run a VBScript or .msi setup file that runs a VBScript, you may receive one of the following errors: Can't find script engine \"VBScript\" for script C:\\ProgramData\\Microsoft\\Windows\\OFFICEICON.vbs There is no script engine for file extension \".vbs\". This happens if the vbscript.dll module is not registered correctly or the\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/posts\/25458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/comments?post=25458"}],"version-history":[{"count":0,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/posts\/25458\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/media?parent=25458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/categories?post=25458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/tags?post=25458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}