{"id":10607,"date":"2019-08-04T10:21:29","date_gmt":"2019-08-04T10:21:29","guid":{"rendered":"http:\/\/198.58.113.91\/blog\/?p=10607"},"modified":"2022-09-03T16:03:41","modified_gmt":"2022-09-03T10:33:41","slug":"find-out-if-a-program-exe-file-is-32-bit-or-64-bit","status":"publish","type":"post","link":"https:\/\/www.winhelponline.com\/blog\/find-out-if-a-program-exe-file-is-32-bit-or-64-bit\/","title":{"rendered":"How to Check if a Program (.EXE or .DLL) is 32-bit or 64-bit"},"content":{"rendered":"<p>Software developers compile separate executable files (.EXE or .DLL) for 32-bit (x86) and 64-bit (x64) systems.\u00a0The 64-bit version of the program is usually denoted by suffixing <code>64<\/code> or <code>x64<\/code> with the filename &#8212; e.g., sigcheck.exe vs. sigcheck64.exe. In some cases, the <a href=\"https:\/\/www.winhelponline.com\/blog\/find-windows-10-build-version-edition-bit\/\">bitness<\/a> notation may be missing, and you may be wondering if the executable is 32-bit or 64-bit.<\/p>\n<p>This article discusses various methods to determine if a program or executable file is 32-bit or 64-bit in Windows.<\/p>\n<p>Note that some vendors may combine the 32-bit and 64-bit executables into one 32-bit self-extractor file that would detect the platform, extract, and run the correct EXE for the current platform.<!--more--><\/p>\n<div id=\"toc\">\n<h4>Methods to check the bitness of a .exe or .dll:<\/h4>\n<ol>\n<li><a href=\"#taskmgr\">Using Task Manager<\/a><\/li>\n<li><a href=\"#resmon\">Using Resource Monitor<\/a><\/li>\n<li><a href=\"#procexp\">Using Process Explorer from Microsoft SysInternals<\/a><\/li>\n<li><a href=\"#sigcheck\">Using Sigcheck from Microsoft SysInternals<\/a><\/li>\n<li><a href=\"#virustotal\">Using VirusTotal.com<\/a><\/li>\n<li><a href=\"#depends\">Using Dependency Walker<\/a><\/li>\n<li><a href=\"#mitec\">Using a PE tool like MiTec Exe Explorer<\/a><\/li>\n<li><a href=\"#headers\">Checking the file headers<\/a><\/li>\n<li><a href=\"#sevenzip\">Using 7-Zip command-line tool<\/a><\/li>\n<li><a href=\"#compat\">Using the Properties\/Compatibility Tab<\/a><\/li>\n<li><a href=\"#dumpbin\">Using Dumpbin from Visual Studio tools<\/a><\/li>\n<li><a href=\"#vbscript\">Using a VBScript to read Binary Streams<\/a><\/li>\n<\/ol>\n<\/div>\n<div class=\"qt\">\n<h4>Note<\/h4>\n<p>32-bit programs can run seamlessly on a <a href=\"https:\/\/www.winhelponline.com\/blog\/find-windows-10-build-version-edition-bit\/\">Windows 64-bit<\/a> Operating System using the WOW64 x86 emulator. But it won&#8217;t work the other way around.\u00a0Running a 64-bit application on Windows 32-bit causes the following error(s):<\/p>\n<div class=\"err\"><strong>This version of [program.exe] is not compatible with the version of Windows you&#8217;re running. Check your computer&#8217;s system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher<\/strong><\/div>\n<div class=\"err\"><strong>program.exe is not a valid win32 application<\/strong><\/div>\n<\/div>\n<h2>Check if an executable (.exe or .dll) is 32-bit or 64-bit<\/h2>\n<p>To find if a .exe or .dll is 32-bit or 64-bit, use one of these methods:<\/p>\n<h3><a id=\"taskmgr\"><\/a>Using Task Manager<\/h3>\n<p>You can find the bitness of each running program in the Task Manager <strong>Details<\/strong> tab.<\/p>\n<ol>\n<li>Open Task Manager and select the Details tab.<\/li>\n<li>Right-click on the column header and click <strong>Select columns<\/strong>. The column header is the row that has the caption for each column, such as <strong>Name<\/strong>, <strong>PID<\/strong>, <strong>Status<\/strong>, etc.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10608\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/find-exe-32-bit-64-bit-2.png\" alt=\"find out if exe is 32-bit or 64-bit\" width=\"471\" height=\"423\" \/><\/li>\n<li>Enable the <strong>Platform<\/strong> checkbox and click OK.<\/li>\n<\/ol>\n<p>In this example, I&#8217;ve opened both versions of Notepad.exe &#8212; one from <code>Windows\\System32<\/code>, and the other (32-bit version) from <code>Windows\\SysWOW64<\/code>. The <strong>Platform<\/strong> column in Task Manager shows the bitness of each executable.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10609\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/find-exe-32-bit-64-bit-1.png\" alt=\"find out if exe is 32-bit or 64-bit\" width=\"700\" height=\"160\" \/><\/p>\n<p>However, this method works only for executable files, but not for DLLs. Moreover, the program needs to be running for you to check the details in Task Manager. Unlike GUI, command-line programs usually run and quit after finishing the task, before you can check the process details in Task Manager.<\/p>\n<hr \/>\n<h3><a id=\"resmon\"><\/a>Using Resource Monitor<\/h3>\n<p>The <a href=\"https:\/\/www.winhelponline.com\/blog\/resource-monitor-find-process-locked-file-windows-7\/\">Resource Monitor<\/a> tool displays information about the use of hardware (CPU, memory, disk, and network) and software (file handles and modules) resources in real-time.<\/p>\n<ol>\n<li>Start the Resource Monitor by running <code>resmon.exe<\/code> or <code>perfmon.exe \/res<\/code><\/li>\n<li>Launch the program whose bitness (32-bit or 64-bit) you want to know.<\/li>\n<li>In Resource Monitor, click on the CPU tab.<\/li>\n<li>In the Processes section, right-click on the column header, click Select Columns&#8230;<\/li>\n<li>Enable the column named <strong>Platform<\/strong>.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19438\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/resmon-32-64-bit-platform.png\" alt=\"resource monitor find process 32 bit or 64 bit\" width=\"700\" height=\"230\" \/><\/li>\n<\/ol>\n<p>The Platform column shows the info you&#8217;re looking for.<\/p>\n<hr \/>\n<h3><a id=\"procexp\"><\/a>Using Process Explorer from Microsoft SysInternals<\/h3>\n<p>Task Manager lets you view the bitness of executable (.exe) files, but not DLLs. So, for .dll (as well as .exe) files, we&#8217;ll use Microsoft SysInternals&#8217; <a href=\"https:\/\/www.winhelponline.com\/blog\/show-process-id-file-explorer-title-bar-windows-10\/\">Process Explorer<\/a> for this task, as Process Explorer can show the <a href=\"https:\/\/www.winhelponline.com\/blog\/find-process-locked-file-openfiles-utility\/\">modules loaded<\/a> by a process. Follow these steps:<\/p>\n<ol>\n<li>Download <strong>Process Explorer<\/strong> from the following link:\n<pre>https:\/\/docs.microsoft.com\/en-us\/sysinternals\/downloads\/process-explorer<\/pre>\n<\/li>\n<li>Right-click Start, click Run, and type the following command-line\/syntax:\n<pre>rundll32 \"path_to_filename.dll\",BlahBlah<\/pre>\n<p>In this example, I&#8217;d type:<\/p>\n<pre>rundll32 \"D:\\Users\\ramesh\\Desktop\\downloader.dll\",BlahBlah<\/pre>\n<p><em>(In this example, I&#8217;m trying to find the bitness of a file named <code>downloader.dll<\/code>. The above command-line, with some bogus arguments, is simply for the sake of loading the DLL into the memory so that it shows up in Process Explorer.)<\/em><\/li>\n<li>You&#8217;ll see the following error message box. Please <strong>do not close<\/strong> it yet.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-17984\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/dll-32-64-bit-check-procexp-4.png\" alt=\"check if a .dll is 32-bit or 64-bit\" width=\"349\" height=\"152\" \/><\/li>\n<li>With the above <a href=\"https:\/\/www.winhelponline.com\/blog\/determine-program-process-owns-error-message-window\/\">error message dialog<\/a> kept <strong>open<\/strong>, launch Process Explorer.<\/li>\n<li>In Process Explorer, from the <strong>Find<\/strong> menu, click <strong>Find Handle or DLL<\/strong> option. (<a href=\"https:\/\/www.winhelponline.com\/blog\/find-process-locked-file-openfiles-utility\/#procexp\"><em>More information<\/em><\/a><em> about this option.<\/em>)<\/li>\n<li>Type <code>downloader.dll<\/code> in the search box and click Search.<\/li>\n<li>When you see the process <code>rundll32.exe<\/code> in the list, click on it. This highlights the DLL file in the lower pane window.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-17986\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/dll-32-64-bit-check-procexp-2.png\" alt=\"check if a .dll is 32-bit or 64-bit\" width=\"694\" height=\"305\" \/><\/li>\n<li>Double-click on <code>downloader.dll<\/code> entry on the lower pane. You&#8217;ll see this properties dialog that shows the bitness (32-bit or 64-bit) of the module.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-17985\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/dll-32-64-bit-check-procexp-3.png\" alt=\"check if a .dll is 32-bit or 64-bit\" width=\"433\" height=\"624\" \/><\/li>\n<li>Click Ok, and exit Process Explorer.<\/li>\n<\/ol>\n<p><em><strong><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-6338 alignleft\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2018\/07\/icotip.gif\" alt=\"tips bulb icon\" width=\"34\" height=\"34\" \/>Additional Tip:<\/strong> You must run Process Explorer as administrator to manage processes that are running elevated. To elevate Process Explorer, click the File menu \u2192 <strong>Show Details for All Processes<\/strong>.<\/em><\/p>\n<hr \/>\n<h3><a id=\"sigcheck\"><\/a>Using Sigcheck from Microsoft SysInternals<\/h3>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/sysinternals\/downloads\/sigcheck\" target=\"_blank\" rel=\"noopener noreferrer\">Sigcheck<\/a> is a command-line utility from Microsoft Windows SysInternals that shows the file version number, timestamp information, and digital signature details, including certificate chains. To output also shows the bitness of the executable.<\/p>\n<p><strong>Examples:<\/strong><\/p>\n<pre>sigcheck.exe c:\\windows\\system32\\shell32.dll<\/pre>\n<pre>sigcheck.exe C:\\Windows\\Notepad.exe<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<pre>Sigcheck v2.54 - File version and signature viewer\r\nCopyright (C) 2004-2016 Mark Russinovich\r\nSysinternals - www.sysinternals.com\r\n\r\nc:\\windows\\notepad.exe:\r\nVerified: Signed\r\nSigning date: 11:14 AM 6\/21\/2019\r\nPublisher: Microsoft Windows\r\nCompany: Microsoft Corporation\r\nDescription: Notepad\r\nProduct: Microsoft\u00ab Windows\u00ab Operating System\r\nProd version: 10.0.18362.1\r\nFile version: 10.0.18362.1 (WinBuild.160101.0800)\r\nMachineType: <strong>64-bit<\/strong><\/pre>\n<p>Running Sigcheck on a file named <code>downloader.dll<\/code> showed that the file is 32-bit.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-17987\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/dll-32-64-bit-check-sigcheck.png\" alt=\"check if a .dll is 32-bit or 64-bit\" width=\"699\" height=\"332\" \/><\/p>\n<hr \/>\n<h3><a id=\"virustotal\"><\/a>Using VirusTotal.com<\/h3>\n<p>The <code>VirusTotal.com<\/code> portal helps you analyze suspicious files and URLs to detect malware and automatically share them with the security community. You can upload a suspicious file, search the VirusTotal database using the file name, <a href=\"https:\/\/www.winhelponline.com\/blog\/how-to-get-file-hash-via-right-click-menu-windows\/\">hash<\/a>, domain name as the keyword.<\/p>\n<ul>\n<li>If you <a href=\"https:\/\/www.winhelponline.com\/blog\/how-to-get-file-hash-via-right-click-menu-windows\/\">have the file hash checksum<\/a> of the DLL, you can search the VirusTotal database to know if the module&#8217;s info is already in their database. If not, you can upload the DLL to analyze it.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-17988\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/virustotal-dll-check-1.png\" alt=\"check if a .dll is 32-bit or 64-bit\" width=\"702\" height=\"533\" \/><\/p>\n<p>After you upload the file, you&#8217;ll see the &#8216;detections&#8217; page. In the resulting page, click on the Details tab.<\/p>\n<p>Scroll down to the <strong>Portable Executable Info<\/strong> section to know the architecture or bitness of the .exe\/.dll file.<\/p>\n<p>Intel 386 or Intel 486 (and later) means it&#8217;s a 32-bit module.<\/p>\n<figure id=\"attachment_17989\" aria-describedby=\"caption-attachment-17989\" style=\"width: 690px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-17989 size-full\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/virustotal-dll-check-2.png\" alt=\"check if a .dll is 32-bit or 64-bit\" width=\"700\" height=\"297\" \/><figcaption id=\"caption-attachment-17989\" class=\"wp-caption-text\">Downloader.dll is a 32-bit file<\/figcaption><\/figure>\n<p>The 64-bit files would be denoted as <code>x64<\/code> adjacent to the <strong>Target Machine<\/strong> label.<\/p>\n<figure id=\"attachment_17990\" aria-describedby=\"caption-attachment-17990\" style=\"width: 689px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-17990 size-full\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/virustotal-dll-check-3.png\" alt=\"check if a .dll is 32-bit or 64-bit\" width=\"699\" height=\"297\" \/><figcaption id=\"caption-attachment-17990\" class=\"wp-caption-text\">MpClient.dll is a 64-bit module<\/figcaption><\/figure>\n<hr \/>\n<h3><a id=\"depends\"><\/a>Using Dependency Walker<\/h3>\n<p><strong>Dependency Walker<\/strong> or depends.exe is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions exported by that module and which of those functions are actually being called by other modules.\u00a0Dependency Walker can help you determine if a module is 32-bit or 64-bit.<\/p>\n<p><em>Dependency Walker is essentially a troubleshooting tool that lets you know the list of dependent files of a .dll or .exe. This tool helps you narrow down issues like missing or corrupt DLLs, wrong bitness (CPU type), import\/export mismatches, etc.<\/em><\/p>\n<ol>\n<li>Download <strong>Dependency Walker<\/strong> from <code>http:\/\/www.dependencywalker.com<\/code><\/li>\n<li>Open the DLL or EXE in Dependency Walker.\n<div class=\"newline\"><em>(Please ignore the <strong>Errors were detected when processing &#8220;filename.DLL&#8221;. See the log window for details<\/strong> error message in case you encounter it.)<\/em><\/div>\n<\/li>\n<li>After the recursive scan, it will show the list of modules that are dependent on the module you opened. In the Modules list box at the bottom, scroll down and find the module name you opened.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-17991\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/depends-dll-bitness.png\" alt=\"check if a .dll is 32-bit or 64-bit\" width=\"832\" height=\"558\" srcset=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/depends-dll-bitness.png 832w, https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/depends-dll-bitness-768x515.png 768w\" sizes=\"auto, (max-width: 832px) 100vw, 832px\" \/><\/li>\n<li>Note down the bit\/architecture of the module, which is listed under the CPU column.<\/li>\n<\/ol>\n<h4>Another Method<\/h4>\n<p>Open the module\/binary (e.g., shell32.dll) in Dependency Walker.<\/p>\n<p>If it&#8217;s a 64-bit module, you&#8217;ll see the letters <code>64<\/code> in the icon shown before the name of the module. It works for .exe, dll, ocx, and .sys files.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25269\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/dll-bitness-depends-1.png\" alt=\"dependency walker 32-bit or 64-bit dll\" width=\"697\" height=\"220\" \/><\/p>\n<p>When loading the 32-bit version of <code>Shell32.dll<\/code> in Depends.exe, it appears as below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25270\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/depends-dll-32-bit-2.png\" alt=\"dependency walker 32-bit or 64-bit dll\" width=\"698\" height=\"219\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-25267 size-full\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/depends-dll-32-bit.png\" alt=\"dependency walker 32-bit or 64-bit dll\" width=\"22\" height=\"16\" \/>\u2192 denotes a 32-bit module.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-25268 size-full\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/depends-dll-64-bit.png\" alt=\"dependency walker 32-bit or 64-bit dll\" width=\"23\" height=\"17\" \/>\u2192 denotes a 64-bit module.<\/p>\n<hr \/>\n<h3><a id=\"mitec\"><\/a>Using MiTec EXE Explorer<\/h3>\n<p><a href=\"http:\/\/www.mitec.cz\/exe.html\" target=\"_blank\" rel=\"noopener noreferrer\">MiTec EXE Explorer<\/a> is a third-party program that reads and displays executable file properties and structure. It is compatible with PE32 (Portable Executable), PE32+ (64bit), NE (Windows 3.x New Executable), and VxD (Windows 9x Virtual Device Driver) file types. .NET executables are supported too.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10613\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/find-exe-32-bit-64-bit-6.png\" alt=\"find out if exe is 32-bit or 64-bit\" width=\"395\" height=\"289\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10614\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/find-exe-32-bit-64-bit-5.png\" alt=\"find out if exe is 32-bit or 64-bit\" width=\"395\" height=\"289\" \/><\/p>\n<hr \/>\n<h3><a id=\"headers\"><\/a>Open the .exe file using Notepad to check its headers<\/h3>\n<p>Another way to find out the bitness of an executable is by opening it using Notepad, Notepad++, or any other <a href=\"https:\/\/www.winhelponline.com\/blog\/replace-notepad-text-editor-notepad-plus-association\/\">text editor<\/a>.\u00a0After you open the binary file in Notepad, use the Find option to look for the 1st occurrence of the word <code>PE<\/code>.<\/p>\n<p>The letter that follows the <code>PE<\/code> header tells you if the file is 32-bit or 64-bit.<\/p>\n<ul>\n<li>32-bit (x86) programs would have <code>PE L<\/code> as the header.<\/li>\n<li>64-bit (x64) programs would have <code>PE d\u2020<\/code> as the header.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10611\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/find-exe-32-bit-64-bit-3.png\" alt=\"find out if exe is 32-bit or 64-bit\" width=\"567\" height=\"366\" \/><\/p>\n<p>You can see that the sigcheck.exe (32-bit) program has the <code>PE L<\/code> header, and its 64-bit version sigcheck64.exe has the <code>PE d\u2020<\/code> header.<\/p>\n<p>If the size of the binary file is huge, Notepad will hang or take more time to open the binary file. In that case, you can use Notepad++.<\/p>\n<p>However, make sure that you don&#8217;t alter or save the executable file using your Text Editor, as doing so would corrupt the executable. Corrupted executables cause the following error when they&#8217;re launched:<\/p>\n<p><em><strong>This app can&#8217;t run on your PC. To find a version for your PC, check with the software publisher.<\/strong><\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10612\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/find-exe-32-bit-64-bit-4.png\" alt=\"find out if exe is 32-bit or 64-bit\" width=\"680\" height=\"162\" \/><\/p>\n<p>So, as always, back up the original executable before viewing it in a text editor if you&#8217;re going to follow the headers method.<\/p>\n<hr \/>\n<h3><a id=\"sevenzip\"><\/a>Using 7-Zip command-line tool<\/h3>\n<p>If you have 7-Zip installed, you can use its command-line version <code>7z.exe<\/code> to determine if a binary is 32-bit or 64-bit.<\/p>\n<p><strong>Example:<\/strong>\u00a0To check if the binary <a href=\"https:\/\/www.winhelponline.com\/blog\/restore-windows-photo-viewer-windows-10\/\">Windows Photo Viewer<\/a>&#8216;s binary file <code>PhotoViewer.dll<\/code> is 32-bit or 64-bit, run this command:<\/p>\n<pre>\"C:\\Program Files\\7-Zip\\7z.exe\" l \"C:\\Program Files (x86)\\Windows Photo Viewer\\PhotoViewer.dll\"<\/pre>\n<p><em>The parameter &#8220;<code>l<\/code>&#8221; is to list the contents of an archive. It however gives additional details such as the bitness of the file.<\/em><\/p>\n<p>You&#8217;ll see the following in the output:<\/p>\n<pre>7-Zip 18.05 (x64) : Copyright (c) 1999-2018 Igor Pavlov\r\n\r\nScanning the drive for archives:\r\n1 file, 1532928 bytes (1497 KiB)\r\n\r\nListing archive: C:\\Program Files (x86)\\Windows Photo Viewer\\PhotoViewer.dll\r\n\r\n--\r\nPath = C:\\Program Files (x86)\\Windows Photo Viewer\\PhotoViewer.dll\r\nType = PE\r\nPhysical Size = 1532928\r\n<strong>CPU = x86<\/strong>\r\n<strong>Characteristics = Executable DLL 32-bit<\/strong><\/pre>\n<div class=\"qt\">\n<p><strong>Tip:<\/strong> To show only the line(s) containing the word &#8220;CPU&#8221; (denotes the bitness of the module) and hide the other irrelevant data, run this command:<\/p>\n<pre>\"C:\\Program Files\\7-Zip\\7z.exe\" l \"C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll\" | findstr \"CPU\"<\/pre>\n<\/div>\n<p>Next, run the tool against the 64-bit version of <code>PhotoViewer.dll<\/code>.<\/p>\n<pre>\"C:\\Program Files\\7-Zip\\7z.exe\" l \"C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll\"<\/pre>\n<p>You&#8217;ll see the following in the output:<\/p>\n<pre>7-Zip 18.05 (x64) : Copyright (c) 1999-2018 Igor Pavlov\r\n\r\nScanning the drive for archives:\r\n1 file, 1753088 bytes (1712 KiB)\r\n\r\nListing archive: C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll\r\n\r\n--\r\nPath = C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll\r\nType = PE\r\nPhysical Size = 1753088\r\n<strong>CPU = x64<\/strong>\r\n<strong>64-bit = +<\/strong>\r\n<strong>Characteristics = Executable DLL LargeAddress<\/strong><\/pre>\n<hr \/>\n<h3><a id=\"compat\"><\/a>Using the Properties\/Compatibility Tab<\/h3>\n<p>The file&#8217;s property sheet \u2192 Compatibility tab tells you whether an executable file is 32-bit or 64-bit.<\/p>\n<p>For example, when you right-click a 32-bit file (e.g., autoruns.exe), click Properties, and select the Compatibility tab, you&#8217;ll see the 32-bit Operating Systems like Windows 95\/98\/Me\/XP listed under the &#8220;Compatibility mode&#8221; dropdown list box.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25462\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/find-32-bit-or-64-bit-1.png\" alt=\"exe or dll - compatibility tab - bitness check\" width=\"405\" height=\"543\" \/><\/p>\n<p>Whereas, for 64-bit files (e.g., autoruns64.exe), you&#8217;ll find only Windows Vista and higher in the &#8220;Compatibility mode&#8221; list box.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-25461\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/08\/find-32-bit-or-64-bit-2.png\" alt=\"exe or dll - compatibility tab - bitness check\" width=\"405\" height=\"543\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-6338 size-full\" src=\"https:\/\/www.winhelponline.com\/blog\/wp-content\/uploads\/2018\/07\/icotip.gif\" alt=\"tips bulb icon\" width=\"34\" height=\"34\" \/>Similarly, to know the bitness of a DLL file using the Compatibility tab, make copy of the DLL, then change the file extension to <code>.exe<\/code> and open the Properties sheet \u2192 Compatibility tab of that file. Once determined the bitness, revert the file extension to .DLL.<\/p>\n<hr \/>\n<h3><a id=\"dumpbin\"><\/a>Using Dumpbin from Visual Studio tools<\/h3>\n<p>The following method was posted by Microsoft Engineer Frank Chism on his official blog. Check out his blog post (Web Archive) titled <a href=\"http:\/\/web.archive.org\/web\/20101019003310\/http:\/\/blogs.technet.com\/B\/windowshpc\/archive\/2009\/03\/27\/how-to-tell-if-a-exe-file-is-a-32-bit-or-64-bit-application-using-dumpbin.aspx\" rel=\"noopener nofollow\" target=\"_blank\">How to tell if a .exe file is a 32-bit or 64-bit application using dumpbin<\/a> &#8211; The Windows HPC Team Blog.<\/p>\n<p>I&#8217;m reposting it here:<\/p>\n<p>&#8212; begin quote &#8212;<\/p>\n<p><em>One of my customers wanted to know if they had really built a 64-bit application for their cluster. After all, we run Windows HPC Server on a 64-bit server OS, so why not take full advantage of it?<\/p>\n<p>I had a few minutes before I had to get back to them so I thought I&#8217;d try to polish the answer a bit. Here&#8217;s what I told him: &#8220;Dumpbin is your friend.&#8221;<\/p>\n<p>Here&#8217;s what I then provided as a really simple &#8216;tool&#8217;. A one liner actually. If and only if you have<\/p>\n<p>C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\bin\\amd64<\/p>\n<p>in your path. See my blog on compiling with Visual Studio from Powershell. This works fine from the old command line shell as well.<\/em><\/p>\n<pre>Windows PowerShell\r\nCopyright (C) 2006 Microsoft Corporation. All rights reserved.\r\n\r\nPS C:\\Home\\fchism> .\\pVSvars.ps1\r\nPS C:\\Home\\fchism> cd PGI\r\nPS C:\\Home\\fchism\\PGI> dir\r\n\r\n\r\n    Directory: Microsoft.PowerShell.Core\\FileSystem::C:\\Home\\fchism\\PGI\r\n\r\n\r\nMode                LastWriteTime     Length Name\r\n----                -------------     ------ ----\r\nd----         2\/17\/2009   2:54 PM            OSBench\r\nd----         2\/10\/2009   4:17 PM            POP_PVF\r\n-a---         3\/26\/2009   4:59 PM     135680 Hi.dwf\r\n-a---         3\/26\/2009   4:59 PM     391168 Hi.exe\r\n-a---         2\/11\/2009  11:00 AM         73 Hi.f\r\n-a---         3\/26\/2009   4:59 PM    1436672 Hi.pdb\r\n-a---         2\/10\/2009   4:31 PM  175156824 pgivfx64-vs2008-803.exe\r\n-a---         2\/10\/2009  10:34 AM    1123401 pgi_whitepaper_unix2win.pdf\r\n-a---         2\/10\/2009   4:08 PM    3526334 POP_PVF.zip\r\n\r\n\r\nPS C:\\Home\\fchism\\PGI> dumpbin \/headers Hi.exe|findstr \"magic machine\"\r\n            8664 machine (x64)\r\n             20B magic # (PE32+)\r\nPS C:\\Home\\fchism\\PGI> cd C:\\UnixUtilities\r\nPS C:\\UnixUtilities> dumpbin \/headers zsh.exe|findstr \"magic machine\"\r\n             14C machine (x86)\r\n                   32 bit word machine\r\n             10B magic # (PE32)\r\nPS C:\\UnixUtilities> cd ..\\Home\\fchism\r\nPS C:\\Home\\fchism> more pVSvars.ps1\r\n# Set up Visual Studio Variables for Powershell<\/pre>\n<p>A magic machine indeed! You can get dumpbin with any version of Visual Studio. If you don&#8217;t have a commercial version go to http:\/\/www.microsoft.com\/express\/ .<\/p>\n<p>&#8212; end quote &#8212;<\/p>\n<hr>\n<h3><a id=\"vbscript\"><\/a>Using a VBScript to read Binary Streams<\/h3>\n<p>Here&#8217;s a nice script from Vbsedit.com that tells you if the mentioned file is 32-bit or 64-bit.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/winhelponline\/e9353a40ed2012c10c9bb5dd15718559.js\"><\/script><\/p>\n<h4>How to Use<\/h4>\n<ul>\n<li>Download the above script and open it using Notepad.<\/li>\n<li>Change the file name path in Line #5. In this example, the binary path is mentioned as &#8220;<code>c:\\windows\\system32\\mspaint.exe<\/code>&#8220;.<\/li>\n<li>Save the script file.<\/li>\n<li>Double-click to run it.<\/li>\n<\/ul>\n<p>The above script reads the binary streams of the mentioned .exe\/.dll\/.ocx\/.sys file using the &#8220;ADODB.Stream&#8221; object. If it encounters the following hex code, the binary is 32-bit.<\/p>\n<pre>PE..L.. (hex code: 504500004C01) = 32 bit<\/pre>\n<p>If it encounters the following hex code in the binary stream, then the module is 64-bit.<\/p>\n<pre>PE..d.. (hex code: 504500006486) = 64 bit<\/pre>\n<p><em>Do you know any other method to determine the bitness of a binary? Let&#8217;s know in the Comments section below!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software developers compile separate executable files (.EXE or .DLL) for 32-bit (x86) and 64-bit (x64) systems.\u00a0The 64-bit version of the program is usually denoted by suffixing 64 or x64 with the filename &#8212; e.g., sigcheck.exe vs. sigcheck64.exe. In some cases, the bitness notation may be missing, and you may be wondering if the executable is &#8230; <a title=\"How to Check if a Program (.EXE or .DLL) is 32-bit or 64-bit\" class=\"read-more\" href=\"https:\/\/www.winhelponline.com\/blog\/find-out-if-a-program-exe-file-is-32-bit-or-64-bit\/\" aria-label=\"Read more about How to Check if a Program (.EXE or .DLL) is 32-bit or 64-bit\">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":[6,7],"tags":[876,412,480],"class_list":["post-10607","post","type-post","status-publish","format-standard","hentry","category-utilities","category-windows","tag-gist","tag-process-explorer","tag-scripts"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":8637,"url":"https:\/\/www.winhelponline.com\/blog\/cant-add-program-to-open-with-menu-list-windows\/","url_meta":{"origin":10607,"position":0},"title":"[Fix] Cannot Add a Program to Open with List in Windows","author":"Ramesh","date":"April 13, 2019","format":false,"excerpt":"When you right-click on a file, select \"Open with\", click \"choose another app\" and select a program using the Browse dialog, the program may fail to appear in the \"Open With\" dialog. It may appear as if nothing happened after you selected the program in the browse dialog -- i.e.,\u2026","rel":"","context":"In &quot;Utilities&quot;","block_context":{"text":"Utilities","link":"https:\/\/www.winhelponline.com\/blog\/category\/utilities\/"},"img":{"alt_text":"open with dialog - header image","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/04\/open-with-featured.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/04\/open-with-featured.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/04\/open-with-featured.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/04\/open-with-featured.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":6078,"url":"https:\/\/www.winhelponline.com\/blog\/fix-vcruntime140-dll-missing-error-windows\/","url_meta":{"origin":10607,"position":1},"title":"[Fix] Missing VCRUNTIME140.DLL, VCRUNTIME140_1.DLL, MSVCP140.DLL","author":"Ramesh","date":"January 1, 2018","format":false,"excerpt":"On your Windows 10 or 11 computer, a 3rd party program (e.g., Epic Games) may throw the error that the module VCRUNTIME140.DLL, VCRUNTIME140_1.DLL, or MSVCP140.dll is missing from the computer. Here are the error messages which you may encounter: The program can't start because VCRUNTIME140.dll is missing from your computer.\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"powertoys runtime files","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2018\/01\/runtimes-powertoys.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2018\/01\/runtimes-powertoys.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2018\/01\/runtimes-powertoys.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2018\/01\/runtimes-powertoys.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":25458,"url":"https:\/\/www.winhelponline.com\/blog\/comctl32-ocx-dependencies-not-registered-file-missing\/","url_meta":{"origin":10607,"position":2},"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":8738,"url":"https:\/\/www.winhelponline.com\/blog\/open-with-notepad-plus-right-click-menu-windows\/","url_meta":{"origin":10607,"position":3},"title":"Add &#8220;Open with Notepad++&#8221; to the Right-Click Menu","author":"Ramesh","date":"April 19, 2019","format":false,"excerpt":"Many users have replaced Notepad with Notepad++ as the default text editor on their computers. Others use Notepad++ only when needed, and launch it via the Open with menu and choose Notepad++ from the list of options. This post tells you how to add the Open with Notepad++ command to\u2026","rel":"","context":"In &quot;Windows&quot;","block_context":{"text":"Windows","link":"https:\/\/www.winhelponline.com\/blog\/category\/microsoft\/windows\/"},"img":{"alt_text":"Notepad++ right-click menu in Windows","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/04\/open-with-notepad-plus-registry-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/04\/open-with-notepad-plus-registry-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/04\/open-with-notepad-plus-registry-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2019\/04\/open-with-notepad-plus-registry-1.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":26759,"url":"https:\/\/www.winhelponline.com\/blog\/autoruns-knowndlls-wow64cpu-wowarmhw-xtajit\/","url_meta":{"origin":10607,"position":4},"title":"Autoruns: KnownDlls wow64cpu, wowarmhw, xtajit, wow64, wow64win Missing","author":"Ramesh","date":"June 12, 2022","format":false,"excerpt":"The Sysinternals Autoruns utility may highlight some entries in yellow, indicating to the user that some files (referenced in the KnownDLL registry key) are missing from the system. The file names are below: C:\\Windows\\Syswow64\\wow64cpu.dll (_wow64cpu) C:\\Windows\\System32\\wowarmhw.dll (_wowarmhw) C:\\Windows\\Syswow64\\wowarmhw.dll\u00a0(_wowarmhw) C:\\Windows\\System32\\xtajit.dll (_xtajit) C:\\Windows\\Syswow64\\xtajit.dll\u00a0(_xtajit) C:\\WINDOWS\\Syswow64\\wow64.dll (wow64) C:\\WINDOWS\\Syswow64\\wow64win.dll (wow64win) (The warning appears regardless of\u2026","rel":"","context":"In &quot;Utilities&quot;","block_context":{"text":"Utilities","link":"https:\/\/www.winhelponline.com\/blog\/category\/utilities\/"},"img":{"alt_text":"autoruns knowndlls missing","src":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/06\/knowndlls-registry-key.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/06\/knowndlls-registry-key.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.winhelponline.com\/blog\/wp-content\/uploads\/2022\/06\/knowndlls-registry-key.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":25473,"url":"https:\/\/www.winhelponline.com\/blog\/comdlg32-ocx-missing-invalid-dependencies-not-registered\/","url_meta":{"origin":10607,"position":5},"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":[]}],"_links":{"self":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/posts\/10607","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=10607"}],"version-history":[{"count":0,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/posts\/10607\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/media?parent=10607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/categories?post=10607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.winhelponline.com\/blog\/wp-json\/wp\/v2\/tags?post=10607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}