3

There is a similar question from stackoverflow. But I didn't find that the answer is helpful. I also used Google searched the websites, I have watched here and here. I have tried the method they told to solve this problem but not got a satisfied answer.

My operating system is 32-bit Window 7. Noncircle.dll is generated by Matlab version 2010a in another machine which installed Matlab. I tried to add Noncircle.dll as a reference in a project written in C#(I didn't install Matlab on my computer), but Visual-Studio 2010 told me the error:

enter image description here

So I doubt that Noncircle.dll maybe have to be registered. So I put Noncircle.dll in C:\Windows\System32 and started Cmd.exe as a administrator and typed:

regsvr32 Noncircle.dll

Then I got an error:

"The module "Noncircle.dll" failed to load.Make sure the binary is sorted at the 
 specified  path or debug it to check for problems with the binary or depenedent 
 .DLL files.The specified module coudl not be found."

Could you give me some hints, Thanks in advance!

Updated on 2012/10/18

But if I have installed Matlab version 2010a on my machine, this problem is solved.

Community
  • 1
  • 1
viperchaos
  • 395
  • 1
  • 4
  • 15
  • 1
    When you say that `Noncircle.dll` has been generated by MATLAB - how was it generated? Using MATLAB Compiler? Using MATLAB Builder NE for .NET? Using MATLAB Coder? Do you have the MATLAB Compiler Runtime installed on your computer (not the machine on which the .dll was generated, but your computer)? – Sam Roberts Dec 07 '11 at 09:39
  • I just click `File\New\Deployment Project` in MATLAB to generate `Noncircle.dll`. I can't assert that in this way Matlab how to generate `Noncircle.dll`. Yes. I have the MATLAB Compiler Runtime installed on my computer, but I got the same results. – viperchaos Dec 07 '11 at 11:13
  • `File>New>Deployment Project` should bring up a dialog box asking for a project name and a project Type. What are you selecting for the project Type - depending on which products you have installed, you may have options including Windows Standalone Application, Console Application, C Shared Library, C++ Shared Library, .NET Assembly, Generic COM Component (and others not relevant for this question). – Sam Roberts Dec 07 '11 at 11:58
  • I selected Generic COM Component(I'm sorry for not providing the the details of generating the dll, because another guy generated the dll by MATLAB) – viperchaos Dec 07 '11 at 13:04
  • This happens when regsvr32.dll itself is not registered, although it is otherwise required to do this. Catch22. I am sure there are people who know how to do this, but they're not talking. Wait. This is the cause when regsvr32 says it loads the module, but it can't find the entry point. – Dimitri Sep 14 '13 at 17:53

3 Answers3

3

I just had the same issue.

If you're running 64-bit Windows and you've placed the 32-bit DLL in Windows\System32\ then it'll give you this error.

Simply place the DLL into Windows\SysWOW64\ and register it from there.

Here's where I found the fix:

http://csi-windows.com/blog/all/73-windows-64-bit/378-fixing-qregsvr32-the-module-failed-to-load-the-specified-module-could-not-be-foundq

WhatEvil
  • 481
  • 5
  • 18
0

I know its too late... but I am adding my solution for others because I faced the same error after following above mentioned answers:

"I just had the same issue.

If you're running 64-bit Windows and you've placed the 32-bit DLL in Windows\System32\ then it'll give you this error.

Simply place the DLL into Windows\SysWOW64\ and register it from there."

If you are facing same error after placing DDL to SysWOW64, then you need to turn on MSMQ feature.

Go to Start -> Search "Turn Windows features on or off" -> Find "Microsoft Message Queue(MSMQ) Server" and Enable it.

enter image description here

Now, register the same DLL again and this time it will be registered

0

First of all try to use RegDllView, to see whether there is actually a COM server registered in the system.

Also check whether this DLL is a COM component.

Andrey Rubshtein
  • 20,795
  • 11
  • 69
  • 104