IBM MQ XMS v7.5. Error implementing Message Listener in .Net C# amqmdnac.dll missing

366 Views Asked by At

When creating a IBM MQ Message Listener that was implemented in .Net C# and working on MQ Client 7.5.0.2 I ran into several Problems after installing MQ Client 7.5. Fixpack 7.

One of them and the most important one is, that my client tool tried to find an assembly called

amqmdnac.dll

during runtime in %Program Files (x86)%\IBM\Websphere MQ\bin.

The file does not exist on MQ Client 7.5. Crawling the www for a download possibility or an answer to this problem did not result anything except a hint to MQ Client 7.1 that was not helpful.

4

There are 4 best solutions below

0
On BEST ANSWER

After reading the answers I came around to check my MQ Client 7.5 installation that was minimal (custom installation) right from the beginning in 2016. I did a modify installation to the 7.5 mq client and added the package "Windows Client" and .. surprise .. the missing assembly amqmdnac.dll is now available in bin\ and bin64.

I guess this is what JasonE meant when talking about installation informationen in windows registry.

After applying the 7.5.0.7 Fixpack the file was still available and updated

Thank you guys for replying that well in short time!

1
On

The 'source' directory is a backup of those files replaced for the FixPack update. Sounds like there is a bug in the FixPack installer. You should open a PMR with IBM and report the issue.

I just checked a couple of Windows servers running MQ V8.0.0.6 and and MQ v9.0.2.0 and they have:

  • {MQ_install_dir}\bin\amqmdnac.dll
  • {MQ_install_dir}\bin64\amqmdnac.dll

You should get off MQ v7.5 since it is going off support in 7 months. I would go straight to MQ V9.

1
On

If you install the server product, you dont get the client libraries by default, you have to select them - amqmdnac is identified as being laid down by the client component, and hence would not be put on disk nor upgraded if you only installed the server product taking the defaults and then upgraded to fixpack 7. Given the fact you talk about applying the fix pack, that usually (not always) means you have installed from the server product media.

Look under the registry tree HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\IBM\WebSphere MQ\Installation\\Components or HKEY_LOCAL_MACHINE\SOFTWARE\IBM\WebSphere MQ\Installation\\Components for the value for "Local Clients\Windows NT Client" which should be identified as Installed. If not, you havent installed the libraries you need.

1
On

Indeed this solution has only fought a symptom as my x86 Test-Client worked with ist, but my x64 web client raised an error as the assembly is also missing in bin64 subfolder.

I found amqmdnac.dll in one of *sources* subfolders by searching all subfolders below

%Program Files (x86)%\IBM\Websphere MQ.

Just copied the dll to

%Program Files (x86)%\IBM\Websphere MQ\bin\

subfolder and the problem was solved.

I do not really understand this issue. I am not sure whether the assembly is part of MQ Client 7.5. But there were several errors I ran into that did not make sense since I had to change my Client Version from 7.5.0.2 to 7.5.0.7.