Search code examples
c#cominteropcom-interop

x86 with COM Interop Compiled on x64


I have a small application that I wrote that imports both the iTunes and MediaMonkey COM interfaces. The app is developed and built on my laptop with is x64 but run on my media PC which is x86. It runs perfectly fine on the x64 machine, but when I try to run it on the x86 media PC it fails to load. If I disable the MediaMonkey part it works fine with iTunes, but I cannot get it to work with the MediaMonkey COM enabled.

The application is compiled for .NET framework 4.0 and as x86 specifically.

Any ideas what I might be doing wrong?


Solution

  • Following the lengthy comments conversation, here's my suggestion as a real answer:

    Try to reinstall MM on you media PC, using "run as administrator" for the installation. There's a somewhat dated discussion in MM forums - Installer doesn't install COM Object properly. If the MM COM server was not registered properly, it will not be available.

    Also, I don't know if this is relevant for this case, but FWIW - there might not be a DLL to register. ActiveX EXEs can use the default marshaller, without a need for a proxy-stub, and can be registered directly.