c++ - VC++ CRT Redist problem -


I have developed a 64 bit DLL using C ++ and Visual Studio 2008 and I am trying to register it on a target machine.

Using 'Regsvr32.exe' I have checked the manifest file and it clearly states that CRT What version is required:

  & lt; Assembly type = 'win32' name = 'Microsoft.VC90.CRT' version = '9.0 21022.8' Processor Arctarchar = 'AMD64' Public Key Tokens = '1fc8b3b9a1e18e3b' / & gt;  

When I try to register the file, I always get a side-by-side error message that states that the setting of the application is incorrect and restoring it to me needed.

Log Error: generated activation reference failed ... reference error message: The assembly referenced on your system is not installed.

The target machine runs Windows XP Professional 64 bit. I have tried to install the related VC ++ redistribution package (VC ++ 2008 redist and), create a setup and include the related merge module (microsoft_vc90_crt_x86_x64.msm), install all VC + redistribution packages etc. Whichever installs it is installed, it will always fail.

If I check dependent files and they are located in the WinSxS folder properly, but if I run dependency walker on file, then it will complain that files can not be found from the VC9 CRT.

If I create a file for 32 bit then it will be correctly registered on a 32 bit OS.

Adrian.

Edit * is that I am running away from ideas, so any help is greatly appreciated. Reproduction on Win XP 64 works fine on Windows 7 64bit only.

I am not an expert in the installer, but do you have to distribute redistribution in the original folder of your application Have you thought about it?

For me, I've never heard of using regsvr32.exe to install crt redist.


Comments