Running msi causes “module failed to register” in 32bit win7,but works in 64bit win7

522 views Asked by At

I'm trying to deploy my project and create an installer. I've created a msi file in vs2005. When running the .msi setup wizard, i'm getting the error:

"Module abc failed to register. HRESULT -2147010895. Contact your support personnel."

The module that failed to register is a C++ com dll.But in x64 platform it works fine.while I changed the solution's targetPlatform to x86,and replace the dll to the version of win32 dll,then installed at a 32bit win7 computer, I got "Module failed to register". By the way ,I set the dll's register property to the vlaue of vsdrfCOMSelfReg.

Does anyone know of a solution for this problem?Thanks!

1

There are 1 answers

1
PhilDW On BEST ANSWER

You are most likely not installing the requred VC++ Runtime support files. The target machine will need whatever VC++ runtime architecture you're using, x64 or x86.

Including the merge modules won't work because you're using SelfReg from the install, and they aren't available at the time that the registration happens in the install.