none
MSVCR110.dll error

    Question

  • I'm pretty new to programming, and I have created my first installer using InstallSheild Limited Edition. When I run it on another computer, I get this error--

    This website told me I needed to include the visual C++ runtime redistributable 2011-

    http://www.rhyous.com/2011/11/01/avoiding-the-msvcr110-dll-or-msvcr110d-dll-is-missing-error/

    Well, I wrote the program in Visual C++ Express 2010 and made the installer on Visual Studio 2012. And I didn't have an option to include the Visual C++ 2011 runtime with my program. So I included the 2012 Version. I wasn't sure which version to include, so I built the installer with different versions (2010 32bit, 2012 32bit, and 2012 64 bit) but none of them worked. One day I included 2012 64 bit -->

    But I still got that stinking error. Somewhere along the line trying to research this I learned that these DLLs are stored in the windows/system32 folder. I looked there on the computer I was trying to install on and sure enough no MSVCR110 (these are in alphabetical order) ---->

    Searching for an answer, I looked around in the installation files. I found the .exe that installs the Visual C++ runtime thingy. And to my suprise, I saw THIS!

    Hey! 2010 was not what I wanted! I found a website where you can install the visual C++ runtime-

    http://www.microsoft.com/en-us/download/details.aspx?id=30679

    But I don't want to install it because I want my installer to automate the process. What should I do?


    • Edited by jessinator Friday, January 04, 2013 5:03 AM
    • Moved by Mike DanesModerator Friday, January 04, 2013 9:00 AM not language related (From:C++ Standards, Extensions, and Interop)
    Friday, January 04, 2013 5:01 AM

Answers

All replies

  • I'm not familiar with that InstallShield installer but:

    - you need to use the correct version of the runtime, if you compiled the program with VS2010 then use the 2010 runtime, not 2012. Note that by default VS Express 2010 builds 32 bit executables so you need the 32 bit version of the runtime.

    - you need to use a "release" build of your executable, "debug" builds only work if VS is installed and they should not be redistributed.

    Friday, January 04, 2013 8:52 AM
    Moderator
  • every version of Visual Studio comes with a vcredist.exe that contains all the runtime libraries.

    So you have to ship the VCredist.exe.

    regards, christophep


    Christophe Pichaud

    Friday, January 04, 2013 2:50 PM
  • I'm not familiar with that InstallShield installer but:

    - you need to use the correct version of the runtime, if you compiled the program with VS2010 then use the 2010 runtime, not 2012. Note that by default VS Express 2010 builds 32 bit executables so you need the 32 bit version of the runtime.

    - you need to use a "release" build of your executable, "debug" builds only work if VS is installed and they should not be redistributed.

    (1) I re-compiled my program with VS 2012, so I do need that runtime.

    (2) I am using a release version --->>

    Friday, January 04, 2013 3:56 PM
  • every version of Visual Studio comes with a vcredist.exe that contains all the runtime libraries.

    So you have to ship the VCredist.exe.

    regards, christophep


    Christophe Pichaud

    How do I do that?
    Friday, January 04, 2013 3:58 PM
  • Nevermind, I figured out how to do it.

    • Marked as answer by jessinator Saturday, January 05, 2013 5:00 PM
    Saturday, January 05, 2013 5:00 PM
  • Well, that's just great.  You've solved the problem and don't want to share the solution with the rest of us.  BFD.
    Sunday, October 27, 2013 2:29 PM
  • BFD?

    Breakfast for Dinner?

    Baked Fresh Daily?

    Back From the Dead?

    Sunday, October 27, 2013 4:31 PM