I wrote a console calculator application in Microsoft Visual C++ Express 2010 and built it as release. It runs fine on my computer but when I moved it to another it said it needed a certain .dll which was not previously, and said reinstalling the application may fix the problem, which it didn't. What did I do wrong?

The target machine probably needs the Visual C++ redistributable installed if you are just copying the .exe around. You can find details on deploying Visual C++ apps here.

On 2008 I remember using my own Microsoft.VC90.CRT.manifest files instead of VC++ redistributable installation.
For this you need to get msvcp90.dll and msvcr90.dll. Then you should get info about their version and target architecture. You can get the version number right clicking on the dll file and choosing "Properties". Then you should be able to figure it out. Be sure that both of the files have the same version.
Then you should write in your manifest file:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='{dll version}' processorArchitecture='{dll architecture}' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
  <file name="msvcr90.dll"/>
  <file name="msvcp90.dll"/>
</assembly>

Maybe this will work with 2010 changing Microsoft.VC90.CRT to Microsoft.VC100.CRT and downloading msvcp100.dll and msvcr100.dll? If you want to do it that way, you can try that.

Edit: Oh yeah, try looking in C:/Windows/WinSxS. Look for Microsoft.VC100.CRT files and directories. You should find dlls for your architecture as well as some manifest files you can use.

Edited 6 Years Ago by venomxxl: n/a

This article has been dead for over six months. Start a new discussion instead.