{"id":25473,"date":"2022-01-03T12:35:44","date_gmt":"2022-01-03T07:05:44","guid":{"rendered":"http:\/\/198.58.113.91\/blog\/?p=25473"},"modified":"2026-03-10T13:29:29","modified_gmt":"2026-03-10T07:59:29","slug":"comdlg32-ocx-missing-invalid-dependencies-not-registered","status":"publish","type":"post","link":"https:\/\/www.winhelponline.com\/blog\/comdlg32-ocx-missing-invalid-dependencies-not-registered\/","title":{"rendered":"COMDLG32.OCX Missing or Dependencies not Registered"},"content":{"rendered":"<p>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 Setup printing dialog boxes, etc.<!--more--><\/p>\n<p>When you attempt to run a program created using Visual Basic 6.0 on a Windows 11\/10 computer, one of the following errors may occur:<\/p>\n<pre class=\"err\">Failed to load control 'CommonDialog' from COMDLG32.OCX. Your version of COMDLG32.OCX may be outdated.<\/pre>\n<pre class=\"err\">Run-time error '339':\n\nComponent 'COMDLG32.OCX' or one of its dependencies not correctly\nregistered: a file is missing or invalid<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25474\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/01\/comdlg32-ocx-error.jpg\" alt=\"comdlg32.ocx error 339 missing\" width=\"465\" height=\"149\" \/><\/p>\n<p>This happens if the module <code>comdlg32.dll<\/code> is missing or corrupted.\u00a0Let&#8217;s see how to fix the Common dialog error in your application when run on any version of Windows, including Windows 11.<\/p>\n<h2>Resolution<\/h2>\n<h3><a id=\"regsvr32\"><\/a>Register COMDLG32.OCX using RegSvr32.exe<\/h3>\n<p>First, check if the file <code>COMDLG32.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>COMDLG32.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\\COMDLG32.OCX<\/pre>\n<p><strong>For Windows 32-bit systems:<\/strong><\/p>\n<pre>regsvr32  C:\\Windows\\System32\\COMDLG32.OCX<\/pre>\n<p>You should see the following output\/message:<\/p>\n<pre>DllRegisterServer in comdlg32.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 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 \"comdlg32.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 <code>0x8002801c<\/code>, re-run the command-line from admin Command Prompt.<\/p>\n<\/div>\n<h3>COMDLG32.OCX Missing?<\/h3>\n<p>If COMDLG32.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\\comdlg32.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>In that case, you&#8217;ll need to 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>Download COMDLG32.OCX<\/h3>\n<p>The most recent version of <code>COMDLG32.OCX<\/code> is <code>v6.01.9841<\/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 <code>COMDLG32.OCX<\/code> and save it to the <code>Windows\\System32<\/code> or <code>Windows\\SysWOW64<\/code> folder. On Windows 64-bit systems, extract the OCX file to: <code>C:\\Windows\\SysWOW64<\/code>. On Windows 32-bit systems, extract the OCX file to <code>C:\\Windows\\System32<\/code>.<\/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<h4><a id=\"download\"><\/a>COMDLG32.OCX &#8211; File Information and Download Link<\/h4>\n<pre>Filename   : COMDLG32.OCX [<a href=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/misc\/ComDlg32.zip\"><strong>Click here to download<\/strong><\/a>]\nVerified    : Signed\nPublisher   : Microsoft Corporation\nCompany     : Microsoft Corporation\nDescription : CMDialog ActiveX Control DLL\nProduct     : CMDialog\nProd version    : 6.01.9841\nFile version    : 6.01.9841\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     : 9a4d0f97f0d84f877b388d4a12d90b6b\nSHA1        : 0ed1fba0a1ebd514eaf2ed69171823144f662730\nSHA256      : 2206e0f530032cb55e1fa00fdfb0c2d71d5b09b1f969089fb8f651fcd2489e6a\n<\/pre>\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><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<h3>What is COMDLG32.OCX?<\/h3>\n<p>COMDLG32.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 displaying the common file dialog (open\/save as) in applications. COMDLG32.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 COMDLG32.OCX error and run your classic VB apps successfully.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 Setup printing dialog boxes, etc.<\/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-25473","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":25439,"url":"https:\/\/www.winhelponline.com\/blog\/mscomctl-ocx-dependencies-not-registered-missing\/","url_meta":{"origin":25473,"position":0},"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":25458,"url":"https:\/\/www.winhelponline.com\/blog\/comctl32-ocx-dependencies-not-registered-file-missing\/","url_meta":{"origin":25473,"position":1},"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":31487,"url":"https:\/\/www.winhelponline.com\/blog\/mscal-ocx-missing-not-registered\/","url_meta":{"origin":25473,"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":2941,"url":"https:\/\/www.winhelponline.com\/blog\/save-as-dialog-empty-grayed-out\/","url_meta":{"origin":25473,"position":3},"title":"Save As Dialog Empty or Grayed Out in Various Programs","author":"Ramesh","date":"April 15, 2016","format":false,"excerpt":"When you attempt to open or save a file from various applications that use Windows File Open or Save As dialog, the dialog boxes may appear blank or with a grey background, without the folder view or navigation pane. Here is what it might look like. On some systems, 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":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/w10\/commondialog-fix.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/w10\/commondialog-fix.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/w10\/commondialog-fix.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":25473,"position":4},"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":25473,"position":5},"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":[]}],"_links":{"self":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/posts\/25473","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=25473"}],"version-history":[{"count":0,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/posts\/25473\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/media?parent=25473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/categories?post=25473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/tags?post=25473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}