I am trying to write a dll (ALT/COM) in Visual Studio 2010 for use in Excel/VBA. My development system specs are as follows:
I should mention that even though my development computer is 64-bit, I am compiling (on purpose) a 32-bit dll.
Everything works fine on my development box (I can compile, register, reference and use the dll in Excel/VBA), but when I try register the dll on another user's computer (Windows 7, 32-bit), regsvr32 gives me the error 'The module "myname.dll" failed to load'. I am running regsvr32 from an elevated command promp and I have installed the VC++ 2010 runtime libraries on the user's computer. I have also copied the Intel MKL redist directory ("C:\\Program Files\\Intel\\ComposerXE-2011\\redist") on the user's computer and added "C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\redist\\ia32" to the system's PATH environment variable. Thinking that I may have missed a reference, I ran "Dependancy Walker" on my dll and saw that it is referencing the 64-bit version of MKL_INTEL_THREAD.DLL and MKL_CORE.DLL. I have tried to find in Visual Studio 2010 a way to reference the 32-bit versions, but I don't see any options to do so. As I said, I am already compiling my dll as 32-bit (it says Win32 in Visual Studio) and I don't know what else to do. Does anyone have any ideas?
Thanks for following-up on my question. I have not tried your solution as I have moved on to other development projects (I had originally asked the question in 2011), but I agree with your assertion that it is indeed a configuration issue. I was able to get things working as indicated in my comment on Thu, 06/02/2011 - 07:28----granted, this was not a very elegant way of resolving my issue. =)