Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Exe not running

Exe not running

Scheduled Pinned Locked Moved C / C++ / MFC
csharpvisual-studiohelpquestionannouncement
19 Posts 10 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P prasad_som

    Use dependency walker to identify dpendent dlls, and make sure , they are shipped on target machine.

    Prasad Notifier using ATL | Operator new[],delete[][^]

    T Offline
    T Offline
    Try
    wrote on last edited by
    #9

    I used "depends.exe". I came to know that msvcp71d.dll and msvcr71d.dll are missing. Its working now. Thanks everyone.

    P D 2 Replies Last reply
    0
    • T Try

      I used "depends.exe". I came to know that msvcp71d.dll and msvcr71d.dll are missing. Its working now. Thanks everyone.

      P Offline
      P Offline
      prasad_som
      wrote on last edited by
      #10

      MaHeSG wrote:

      msvcp71d.dll and msvcr71d.dll

      These are debug versions of dlls, run dependecy walker on release version of your exe and find appropriate version of dlls.

      Prasad Notifier using ATL | Operator new[],delete[][^]

      1 Reply Last reply
      0
      • realJSOPR realJSOP

        You're assuming he's writing in C++/CLR... He hasn't actually said that.

        "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
        -----
        "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

        N Offline
        N Offline
        nullable type
        wrote on last edited by
        #11

        vcredist_x86.exe installs the c/c++ runtime + mfc dll's. This is needed for apps written with VS2005 and VC8. It has nothing to do with managed (.NET) or not! Simon

        realJSOPR 1 Reply Last reply
        0
        • T Try

          I used "depends.exe". I came to know that msvcp71d.dll and msvcr71d.dll are missing. Its working now. Thanks everyone.

          D Offline
          D Offline
          David Crow
          wrote on last edited by
          #12

          MaHeSG wrote:

          I came to know that msvcp71d.dll and msvcr71d.dll are missing. Its working now.

          You cannot distribute these "debug" files. In your initial post you said that, "I have taken the EXE from Release..." Is this not the case?


          "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

          "Judge not by the eye but by the heart." - Native American Proverb

          1 Reply Last reply
          0
          • N nullable type

            vcredist_x86.exe installs the c/c++ runtime + mfc dll's. This is needed for apps written with VS2005 and VC8. It has nothing to do with managed (.NET) or not! Simon

            realJSOPR Offline
            realJSOPR Offline
            realJSOP
            wrote on last edited by
            #13

            Well duh... I was pointing out that the original poster didn't say which he was using...

            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
            -----
            "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

            1 Reply Last reply
            0
            • T Try

              I have created a project. I have taken the EXE from Release and tried to run in a system that doesn't have Visual Studio. Its running in some systems and in some systems it's not. Do I need to install anything? Please help me. Thanks in advance.

              M Offline
              M Offline
              malaugh
              wrote on last edited by
              #14

              You may have other problems, but you definitely need static linking. Go to project->settings Click on the general tab Select "use MFC in a static library" press OK Select build->rebuild all

              D 1 Reply Last reply
              0
              • T Try

                I have created a project. I have taken the EXE from Release and tried to run in a system that doesn't have Visual Studio. Its running in some systems and in some systems it's not. Do I need to install anything? Please help me. Thanks in advance.

                M Offline
                M Offline
                Mark Salsbery
                wrote on last edited by
                #15

                I'm not sure why static linking is usually the suggested solution to this problem Static linking is not always desired, and in many instances impossible (eg MFC extension DLLs). Properly deploying an application is (IMO) necessary. It's documented... Deployment (C++)[^] Mark

                1 Reply Last reply
                0
                • realJSOPR realJSOP

                  You're assuming he's writing in C++/CLR... He hasn't actually said that.

                  "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                  -----
                  "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                  N Offline
                  N Offline
                  Nish Nishant
                  wrote on last edited by
                  #16

                  John Simmons / outlaw programmer wrote:

                  You're assuming he's writing in C++/CLR... He hasn't actually said that.

                  I don't think he assumed that, John. vcredist_x86.exe is not about the CLR. It installs the latest MFC, ATL, and CRT DLLs.

                  Regards, Nish


                  Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
                  Currently working on C++/CLI in Action for Manning Publications. (*Sample chapter available online*)

                  1 Reply Last reply
                  0
                  • M malaugh

                    You may have other problems, but you definitely need static linking. Go to project->settings Click on the general tab Select "use MFC in a static library" press OK Select build->rebuild all

                    D Offline
                    D Offline
                    David Crow
                    wrote on last edited by
                    #17

                    malaugh wrote:

                    but you definitely need static linking.

                    Why would you suggest this, when it's obvious that he has built a 'debug' version of the application? The problem is the 'debug' DLLs are not present, nor should they be, on the target machine.


                    "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

                    "Judge not by the eye but by the heart." - Native American Proverb

                    M 1 Reply Last reply
                    0
                    • D David Crow

                      malaugh wrote:

                      but you definitely need static linking.

                      Why would you suggest this, when it's obvious that he has built a 'debug' version of the application? The problem is the 'debug' DLLs are not present, nor should they be, on the target machine.


                      "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

                      "Judge not by the eye but by the heart." - Native American Proverb

                      M Offline
                      M Offline
                      malaugh
                      wrote on last edited by
                      #18

                      Exactly my point. If you use static linking, then you can run the program on the other machine without the other machine needing the DLLs, just copy across the exe.

                      D 1 Reply Last reply
                      0
                      • M malaugh

                        Exactly my point. If you use static linking, then you can run the program on the other machine without the other machine needing the DLLs, just copy across the exe.

                        D Offline
                        D Offline
                        David Crow
                        wrote on last edited by
                        #19

                        malaugh wrote:

                        If you use static linking, then you can run the program on the other machine without the other machine needing the DLLs, just copy across the exe.

                        One of the most common problems with statically linked DLLs is that the version of MFC they linked with assumed a latest-version of some other DLL, and when that DLL is not installed, either their program can't load, or if it does, it ends up with the wrong version of the other DLL and crashes or otherwise malfuctions. Common controls, Common Dialogs, and OLE are the most common points of mismatch. And there's nothing that can be done other than doing a proper install. There are about a dozen versions of MFC42.DLL, and while most of them are backward compatible, you cannot link something with a modern MFC42.DLL and expect it to work with an older one. MFC is rarely the key problem; a new version of MFC42.LIB assumes contemporary versions of a lot of other DLLs, such as common controls, OLE, COM, etc. and therefore static linking has done nothing other than increase the DLL size but not solve any problems; and you cannot use such a DLL with any MFC executable anyway, so it doesn't do any good for distributing DLLs.


                        "Approved Workmen Are Not Ashamed" - 2 Timothy 2:15

                        "Judge not by the eye but by the heart." - Native American Proverb

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups