VCRedist Problem

According to Microsoft our setup should look like this for winXP and above,

  • C:\Test\helloconsole.exe
  • C:\Test\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest
  • C:\Test\Microsoft.VC80.CRT\msvcr80.dll
  • C:\Test\Microsoft.VC80.CRT\msvcp80.dll
  • C:\Test\Microsoft.VC80.CRT\msvcm80.dll

If I do not need to install VCRedist.exe on the client system.

My problem is that i have to place the dlls at some other location, so that my application folder will not have complex structure.

Is there any way to create a manifest file and embed it into the application exe, that will allow me to place the dll's at some other location.

-- Thanks & Regards,

Sachin




Answer this question

VCRedist Problem

  • Claudiu Chiorean

    The answer is, you cannot. VC8 specifically prohibits the use of runtime DLLs from the system32 folder in XP and above. Note it will work fine for Windows 2000 and below.

    If you have multiple components in different folders, you'll have to put those files in multiple places.

    The better way is to use the redistributable (vcredist_x86.exe) or merge modules (windows installer files in \program files\common files\merge modules) so that they get installed properly in the WinSxS folder of the users machine (or system32 for Windows 2000 and below)


  • Evan Mulawski

    Thanks Ted,

    How can i place the dlls in Windows System32 directory, so that my application setup will look like this,

  • C:\Test\helloconsole.exe
  • C:\Test\Microsoft.VC80.CRT.manifest
  • C:\Windows\system32\msvcr80.dll
  • C:\Windows\system32\msvcp80.dll
  • C:\Windows\system32\msvcm80.dll
  • Thanks & Regards,

    Sachin



  • yazoox

    you can also do this (unlike the other way, this way will work on Windows 2000 and lower too)

  • C:\Test\helloconsole.exe
  • C:\Test\Microsoft.VC80.CRT.manifest
  • C:\Test\msvcr80.dll
  • C:\Test\msvcp80.dll
  • C:\Test\msvcm80.dll

  • VCRedist Problem