The module may not be compatible with the version of Windows you are running

  • Windows 10
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows Server 2008

The module "%1" may not compatible with the version of Windows that you're running. Check if the module is compatible with an x86 (32-bit) or x64 (64-bit) version of regsvr32.exe.

unread,

Jul 26, 2016, 4:41:37 PM7/26/16

to

Having a problem with a standard, VB6 ActiveX dll on Windows 7 32 bit machines.
I am unable to register the dll with the above message. This always used to work fine and have no idea why this suddenly has changed. Running regsvr32 as admin makes no difference. On a Windows 7 machine at home, which is 64 bit all works fine. I tried with the full path to regsvr32.exe (C:\Windows\System32\) and no difference. Done a lot of Googling but no progress and maybe somebody has some idea what could be the problem here.

RBS

unread,

Jul 26, 2016, 5:46:15 PM7/26/16

to

I forgot to say that other VB6 ActiveX dll's register fine on that 32 bit machine, so the problem seems to be with that particular dll. Also to mention that that dll has some references to other activeX dll's and also one ActiveX exe but all those are registered fine.

RBS

unread,

Jul 27, 2016, 1:23:14 AM7/27/16

to

All solved now. There was something wrong with a dependant, non-ActiveX dll.
Depends.exe showed me the problem:

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.

As often the MS error message was not very accurate or helpful.

RBS

GS

unread,

Jul 27, 2016, 2:19:12 AM7/27/16

to

ralph

unread,

Jul 27, 2016, 7:45:29 AM7/27/16

to

FYI:

That has been a common complaint against Windows since Windows 286 and
is actually based on a design-decision. (The protocol used to verify
registeration or loading are not that far apart.)

It was decided the Windows "loader" (a single process back then,
multiple colaborations on newer versions) would simply halt on any
error/warning, and report back the error it ran into during the
loading / registering processes, and not where the error occurred by
maintaining a stack of modules (steps). In the early days it was
simply because of the extra time and resources that would be involved,
with modern O/Ss it is mostly the complication of coordination.

So whenever, you receive that error (or anything similar) - test the
module mentioned - BUT appreciate it is only the module that
initialized that particular "loading" sequence and it is likely to NOT
be the module of real interest. It's just the instigator. If it
doesn't appear to be the immediate cause always use utilities to track
the "true" culprit.

The module may not be compatible with the version of Windows you are running

RegSvr32: Possibly a DLL module not compatible with the version of Windows - why and how to fix it?

Faced with errors related to the fact that the system has not detected a certain DLL file on the computer, many users resort to downloading said file from the Internet and then try to register it on the system using regsvr32.exe. Most of the time, they get an error, one of which is "This DLL module may not be compatible with the version of Windows running on this computer." Please check if this module is compatible with the 32-bit (x86) or 64-bit (x64) version of regsvr32.exe.”

This tutorial will talk in detail about what causes this error, what to look out for and possibly do to fix it when running regsvr32.exe commands

Table of Contents

  • 1 Reasons: 64-bit (x64) and 32-bit (x86) versions of the DLLs and regsvr32.exe
  • 2 How to fix the error The DLL module is not compatible with the version of Windows running on this computer

Reasons: 64-bit (x64) and 32-bit (x86) versions of the DLLs and regsvr32.exe

If you have v, Windows 10, 8.1, or Windows 7 x64, there are a few things to keep in mind when installing the DLL files:

  1. The DLL files with the same name can be 32-bit and 64-bit, most DLLs are supplied by the developer in two versions. But if these files are downloaded from third-party sites on the Internet, the bit rate may not be specified.
  2. On 64-bit systems the DLL libraries x64 are located in the C:\Windows\System32 folderand the libraries x86 (32-bit) – in the folder C:\Windows\SysWOW64although a novice user may get the opposite impression from the folder names.
  3. Even Windows x64 typically requires 32-bit, not 64-bit, DLLs to fix errors caused by missing DLLs. For compatibility and ease of development, some games and programs are only released in x86 versions and use the corresponding libraries even on x64 systems.
  4. 64-bit versions of Windows include two versions of the regsvr32.exe utility with the same file name: one 64 bit, the other 32 bit and each is used to register DLL files of the appropriate bit size.
  5. When regsvr32.exe is run without specifying a path, the x64 version of this tool runs by default on x64 systems.
  6. There are arm-64 versions of DLLs designed for devices with ARM processors. They cannot be installed on systems with regular Intel or AMD processors.

When the 32-bit (x86) version of Windows is installed on your computer, there is only one System32 folder with 32-bit DLLs and only one 32-bit version of regsvr32.exe. x64 versions of DLLs cannot be used on such Windows.

Here we have broken down all the points that will make it clearer why certain actions are taken in the next section of the error correction instruction.

How to fix the error The DLL module is not compatible with the version of Windows running on this computer

For the 32-bit version of Windows, it's simple: to fix the error, replace the DLL with its x86 version and repeat the command. If your computer is running Windows 11, 10, 8.1, or Windows 7 x64, follow these steps:

  1. If you have copied the DLL file to the System32 folder, then the command regsvr3.exe file.dll reported an error "The DLL module may not be compatible with the version of Windows running on this computer", this means that you tried to register a 32-bit DLL using 32-bit regsvr64. Move the DLL file to the SysWOW64 folder and then use the command with the full path:C:\Windows\SysWOW64\regsvr32.exe fail.dll

    The 64-bit version of the library is required for the System32 folder.

  2. The reverse situation is also possible: the x64 DLL was placed in the SysWOW64 folder, and then a command with the path to regsvr32.exe was used in the same folder, resulting in the same error message. The solution is to move the x64 file to the System32 folder and use the command without specifying the full path to regsvr32.exe, and for the SysWOW64 folder use the x86 version of the file as described in step 1.
  3. Make sure you don't download the DLL file for ARM-64, you won't be able to use it on a normal computer or laptop in any way.

So far we have only talked about one bug, the text of which is in the title of the article. I think we've already taken care of that by now. However, it is very likely that immediately after solving this problem you will encounter another one, about which in a separate statement: The module is loaded, but the entry point DllRegisterServer is not found.

How to shut down or restart the computer without a mouse

Next Story

How to set a reminder on your Android mobile phone

Previous story

How do you fix this version of this file is not compatible with the version of Windows you're running error on Windows?

Use the following steps:.
1) Right click on the Program..
2) Click on Properties..
3) Click on Compatibility tab..
4) Select Run this program in compatibility mode and select Windows Vista or whatever operating system the program was running successfully..

Is not compatible with the version of Windows you are running?

This is a Microsoft Windows error which means you have a 32-bit software that you are trying to install on a 64-bit system or vice versa. NOTE: This error may also occur when the user tries to double-click/run a file that is not an executable file.

How do I fix regsvr32 error?

Common solutions for Regsvr32 errors.
Open an elevated command prompt..
If the 32-bit DLL is in the %systemroot%\System32 folder, move it to the %systemroot%\SysWoW64 folder..
Run the following command: %systemroot%\SysWoW64\regsvr32 <full path of the DLL>.

How do I register a .ocx or .DLL in System32?

Click Start > All Programs > Accessories and right-click on "Command Prompt" and select "Run as Administrator" OR in the Search box, type CMD and when cmd.exe appears in your results, right-click on cmd.exe and select "Run as administrator" At the command prompt, enter: REGSVR32 "PATH TO THE DLL FILE"