{"id":25439,"date":"2022-01-01T18:51:45","date_gmt":"2022-01-01T13:21:45","guid":{"rendered":"http:\/\/198.58.113.91\/blog\/?p=25439"},"modified":"2026-03-10T13:29:13","modified_gmt":"2026-03-10T07:59:13","slug":"mscomctl-ocx-dependencies-not-registered-missing","status":"publish","type":"post","link":"https:\/\/www.winhelponline.com\/blog\/mscomctl-ocx-dependencies-not-registered-missing\/","title":{"rendered":"MSCOMCTL.OCX or dependencies not registered, file is missing"},"content":{"rendered":"<p>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:<\/p>\n<pre class=\"err\">Component 'MSCOMCTL.OCX' or one of its dependencies not registered: a file is missing or invalid<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25440\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/mscomctl-ocx-error.png\" alt=\"mscomctl.ocx error missing not registered\" width=\"412\" height=\"152\" \/><\/p>\n<p>Let&#8217;s see how to fix this error on any version of Windows, including Windows 11.<!--more--><\/p>\n<h2>Fix for Error MSCOMCTL.OCX missing or not registered<\/h2>\n<h3><a id=\"regsvr32\"><\/a>Register MSCOMCTL.OCX using RegSvr32.exe<\/h3>\n<p>First, check if the file <code>MSCOMCTL.OCX<\/code> exists in the following 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>MSCOMCTL.OCX<\/code>\u00a0exists in the above location, then all you need to do is 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>regsvr32 C:\\Windows\\SysWOW64\\MSCOMCTL.OCX<\/pre>\n<p><strong>For Windows 32-bit systems:<\/strong><\/p>\n<pre>regsvr32 C:\\Windows\\System32\\MSCOMCTL.OCX<\/pre>\n<p>You should see the following output\/message:<\/p>\n<pre>DllRegisterServer in mscomctl.ocx succeeded.<\/pre>\n<div class=\"qt\">\n<h3>RegSvr32.exe throws the error 0x8002801c?<\/h3>\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 ran 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 \"mscomctl.ocx\" was loaded but the call to DllRegisterServer failed with error code 0x8002801c.\r\n\r\nFor more information about this problem, search online using the error code as a search term.<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25444\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/8002801c-dll-error.png\" alt=\"0x8002801c - regsvr32 error\" width=\"413\" height=\"185\" \/><\/p>\n<p>To resolve the error 0x8002801c, re-run the command-line from admin Command Prompt.<\/p>\n<\/div>\n<h3>MSCOMCTL.OCX Missing? Download it now<\/h3>\n<p>If MSCOMCTL.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\\mscomctl.ocx\" failed to load.\r\n\r\nMake sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.\r\n\r\nThe specified module could not be found.<\/pre>\n<p>In that case, you&#8217;ll need to download the module and save it to <code>C:\\Windows\\System32<\/code> (for Windows 32-bit computers) or <code>Windows\\SysWOW64<\/code> folder (for Windows 64-bit computers).<\/p>\n<h4>Download MSCOMCTL.OCX<\/h4>\n<p>The most recent version of <code>MSCOMCTL.OCX<\/code> is <code>v6.01.9846<\/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.<\/li>\n<li>Extract\/copy the module MSCOMCTL.OCX and save it to the <code>Windows\\System32<\/code> or <code>Windows\\SysWOW64<\/code> folder.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25441\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/mscomctl-ocx-extract.png\" alt=\"mscomctl.ocx error missing not registered - extract using 7-zip\" width=\"684\" height=\"433\" \/><\/li>\n<li>Then register the module using <a href=\"#regsvr32\">RegSvr32.exe command-line<\/a> as explained at the top of this article.<\/li>\n<\/ol>\n<div class=\"qt\">\n<h3>MSCOMCTL.OCX &#8211; File Information<\/h3>\n<pre>Filename\t: MSCOMCTL.OCX\r\nVerified\t: Signed\r\nPublisher\t: Microsoft Corporation\r\nCompany\t\t: Microsoft Corporation\r\nDescription\t: Windows Common Controls ActiveX Control DLL\r\nProduct\t\t: MSCOMCTL\r\nProd version\t: 6.01.9846\r\nFile version\t: 6.01.9846\r\nMachineType\t: 32-bit\r\nMD5\t\t: 273676426739b02a45a0fc9349500b65\r\nSHA1\t\t: a23c709fae04feef87358abd59504940d0d0c806\r\nSHA256\t\t: 152121a5d1ac8f12002c18afc294bb1ebcecc1d61deec6211df586c11acde9b6\r\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><a href=\"https:\/\/www.winhelponline.com\/blog\/comctl32-ocx-dependencies-not-registered-file-missing\/\">comctl32.ocx<\/a><\/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>mscomctl.ocx<\/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><a href=\"https:\/\/www.winhelponline.com\/blog\/fix-for-richtx32-ocx-component-error-when-running-a-program\/\">richtx32.ocx<\/a><\/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<h3>What is MSCOMCTL.OCX?<\/h3>\n<p>MSCOMCTL.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. This module is responsible for showing UI elements such as the image combo control, progress bar, Listview, sliders, toolbar, tree view, etc in the program created using Visual Basic.<\/p>\n<figure id=\"attachment_25442\" aria-describedby=\"caption-attachment-25442\" style=\"width: 360px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-25442\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/vb6-common-controls.jpg\" alt=\"vb6 common controls\" width=\"370\" height=\"275\" \/><figcaption id=\"caption-attachment-25442\" class=\"wp-caption-text\">Screenshot of Visual Basic 6.0 IDE<\/figcaption><\/figure>\n<p>The MSCOMCTL.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 MSCOMCTL.OCX error and run your classic VB 6.0 or Visual FoxPro 6.0 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 6.0 or Visual FoxPro 6.0 on a Windows 11\/10 computer, the following error may occur: Component &#8216;MSCOMCTL.OCX&#8217; or one of its dependencies not registered: a file is missing or invalid Let&#8217;s see how to fix this error on any version of Windows, including Windows &#8230; <a title=\"MSCOMCTL.OCX or dependencies not registered, file is missing\" class=\"read-more\" href=\"https:\/\/www.winhelponline.com\/blog\/mscomctl-ocx-dependencies-not-registered-missing\/\" aria-label=\"Read more about MSCOMCTL.OCX or dependencies not registered, file is missing\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[7],"tags":[191,988],"class_list":["post-25439","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":25458,"url":"https:\/\/www.winhelponline.com\/blog\/comctl32-ocx-dependencies-not-registered-file-missing\/","url_meta":{"origin":25439,"position":0},"title":"Component COMCTL32.OCX or dependencies not registered: file missing or invalid","author":"Ramesh","date":"January 2, 2022","format":false,"excerpt":"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 '339': Component 'COMCTL32.OCX' or one of its dependencies not correctly registered: a file is missing or invalid If COMCTL32.OCX is missing from the Windows\\System32 or\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"comctl32.ocx extract using 7-zip","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/comctl32-ocx-extract.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/comctl32-ocx-extract.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/comctl32-ocx-extract.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/comctl32-ocx-extract.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":25473,"url":"https:\/\/www.winhelponline.com\/blog\/comdlg32-ocx-missing-invalid-dependencies-not-registered\/","url_meta":{"origin":25439,"position":1},"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":31487,"url":"https:\/\/www.winhelponline.com\/blog\/mscal-ocx-missing-not-registered\/","url_meta":{"origin":25439,"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":25439,"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":25439,"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":25439,"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\/25439","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=25439"}],"version-history":[{"count":0,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/posts\/25439\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/media?parent=25439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/categories?post=25439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/tags?post=25439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}