none
Windows Installer And Missing MSVCR100.dll?

    Question

  • Hi,

    I submitted a reply about this problem on the bottom of someone else's marginally related question, then decided it could use its' own thread.

    I built a simple Windows Installer setup project in Visual Studio 2010 for a large native C++\MFC application. After r unning the installer on my Windows XP and 7 machines (that have VS2010 installed) the program started up fine. The build process for the setup project did not complain about any missing dependencies and it did automatically add MSVCR100.dll as a dependencies.

    BUt when I send the installer to other people in my group who are running W7, the application pops up a window with ""The program can't start because MSVCR100.dll is missing from your computer. Try reinstalling the program to fix this problem." MSVCR100.dll is present on the other users machines but for some reason  my application cannot access.

    Can I just add "MSVCR100.dll" to my application directory or some other action required??

    I suspect the MSVCR100.dll is part of a NET framework and I might need to install a whole framework??

    Anyway I hope some forum people have an idea of how I can address this problem.

    Thanks,
    Tom

     

     

    • Edited by TommyVee Monday, August 30, 2010 1:13 AM
    Sunday, August 29, 2010 9:42 PM

Answers

  • Hi Tommy,

    Just as you said in your second reply, we need to add the microsoft_vc100_crt_x86.msm merge module to the Setup Project to install the C runtime on the destination machine. You said you add it in a sub directory in your Setup Project, this is not the suggested way. You need to right click the Setup Project and select 'Add -> Merge Module...' to add it to your Setup Project.

    By the way, you need to make sure the application deploied is built as the release version. If it is built as the debug version, you need to add the Microsoft_VC100_DebugCRT_x86.msm instead.

    Let me know if this helps or not.
    Aland Li

    MSDN Subscriber Support in Forum
    If you have any feedback on our support, please contact msdnmg@microsoft.com


    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
    • Marked as answer by TommyVee Tuesday, August 31, 2010 5:28 PM
    Tuesday, August 31, 2010 10:59 AM
    Moderator

All replies

  • Wanted to mention that the problem was occurring when I did a build targeting x86 but the application was installed on an x64 computer. And when I tried to  manually add MSVCR100.dll to the application folder in my setup project, MSVCR100.dll was already included in a sub-directory called microsoft_vc100_crt_x86.msm.

    So I will make an installer targeted to an x64 and see if it has the same "The program can't start because MSVCR100.dll is missing from your computer. Try reinstalling the program to fix this problem." message.

    Sunday, August 29, 2010 10:21 PM
  • So I found the help entry that discusses this issue at the link below.

    http://msdn.microsoft.com/en-us/library/ms235299.aspx

    The VS 2010 help system search function seriously needs help. I searched on the error message, on the missing dll name, and on C runtime libraries, and this help entry was not in the first hundred entries.

    I finally found the relevant help entry by clicking on the help button in the popup window that displayed when I tried to manually add MSVCR100.dll to my setup project's application folder.

    The help search in VS 2008 worked SO much better.

    Monday, August 30, 2010 4:24 PM
  • Hi Tommy,

    Just as you said in your second reply, we need to add the microsoft_vc100_crt_x86.msm merge module to the Setup Project to install the C runtime on the destination machine. You said you add it in a sub directory in your Setup Project, this is not the suggested way. You need to right click the Setup Project and select 'Add -> Merge Module...' to add it to your Setup Project.

    By the way, you need to make sure the application deploied is built as the release version. If it is built as the debug version, you need to add the Microsoft_VC100_DebugCRT_x86.msm instead.

    Let me know if this helps or not.
    Aland Li

    MSDN Subscriber Support in Forum
    If you have any feedback on our support, please contact msdnmg@microsoft.com


    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
    • Marked as answer by TommyVee Tuesday, August 31, 2010 5:28 PM
    Tuesday, August 31, 2010 10:59 AM
    Moderator
  • I eventually worked my way through the VS 2010 documentation to figure out that I had to add merge modules for the C Runtime files.

    In previous VS versions, these files would have been automatically included as dependencies when the Setup Project was created, which I think makes more sense. And the Help system search should have returned at least one relevant entry when I searched on the error message, again the search function in VS 2008 worked so much better. Kind of disappointing to spend $1000 for an upgrade and have worse performance, but I guess that is life in a MicroSoft shop.

    Tuesday, August 31, 2010 5:31 PM