Code Compiled on Vista won't run on XP
-
I've recently upgraded one of my production machines to Vista, and all has gone quite well, with one little hitch. I'm coding in/compiling with Visual Studio 2005, and C++ that I write/build on my Vista machine runs fine there, but when I try to use the executable on XP, I'm presented with this: <edit: link removed> Any Idea as to what may have caused this misconfiguration? Sorry if this is the wrong place to ask, I'm somewhat new to this community. Thanks!
-
I've recently upgraded one of my production machines to Vista, and all has gone quite well, with one little hitch. I'm coding in/compiling with Visual Studio 2005, and C++ that I write/build on my Vista machine runs fine there, but when I try to use the executable on XP, I'm presented with this: <edit: link removed> Any Idea as to what may have caused this misconfiguration? Sorry if this is the wrong place to ask, I'm somewhat new to this community. Thanks!
You need to run the C++ runtime installer on the other machine (the OS isn't a factor here, it's missing DLLs). Go do
%VSDIR%\sdk\v2.0\BootStrapper\packages
and you'll see dirs namedvcredist_*
. Go into the dir that matches the CPU of the other machine, and grab the EXE from that dir. Copy it to the other machine and run it. And yes, that is a horrible error message. :sigh:--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
-
You need to run the C++ runtime installer on the other machine (the OS isn't a factor here, it's missing DLLs). Go do
%VSDIR%\sdk\v2.0\BootStrapper\packages
and you'll see dirs namedvcredist_*
. Go into the dir that matches the CPU of the other machine, and grab the EXE from that dir. Copy it to the other machine and run it. And yes, that is a horrible error message. :sigh:--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
Michael Dunn wrote:
the OS isn't a factor here, it's missing DLLs
True in this case, but I think I remember back when Win2000 was the latest, and you compiled under 2000, you couldn't run it in 98. I may be wrong though, might've been VB...
:badger:
-
Michael Dunn wrote:
the OS isn't a factor here, it's missing DLLs
True in this case, but I think I remember back when Win2000 was the latest, and you compiled under 2000, you couldn't run it in 98. I may be wrong though, might've been VB...
:badger:
The OS you compile on has never affected the OSes that the EXE will run on. If I build an app on Vista and use the ANSI Win32 APIs, the EXE will run all the way down to Win 95. It's always about getting the right versions of the CRT (and MFC if you use it) DLLs on the target systems.
--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
-
The OS you compile on has never affected the OSes that the EXE will run on. If I build an app on Vista and use the ANSI Win32 APIs, the EXE will run all the way down to Win 95. It's always about getting the right versions of the CRT (and MFC if you use it) DLLs on the target systems.
--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
Right. That's what I assumed. Thing being, this little 'project2' I did was just a simple little app including things like iostream, conio.h, fstream, exception, and a few others, nothing fancy. I suppose I should just figure out what files are missing that I need. Thanks All!
-
Right. That's what I assumed. Thing being, this little 'project2' I did was just a simple little app including things like iostream, conio.h, fstream, exception, and a few others, nothing fancy. I suppose I should just figure out what files are missing that I need. Thanks All!
-
You need to run the C++ runtime installer on the other machine (the OS isn't a factor here, it's missing DLLs). Go do
%VSDIR%\sdk\v2.0\BootStrapper\packages
and you'll see dirs namedvcredist_*
. Go into the dir that matches the CPU of the other machine, and grab the EXE from that dir. Copy it to the other machine and run it. And yes, that is a horrible error message. :sigh:--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
-
Does running this put additional dlls on the target machine or does it overwrite existing ones? I don't want to break any existing programs that run just fine. Thanks!
It will install the new DLLs in the side-by-side directory, it won't overwrite older versions.
--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
-
I've recently upgraded one of my production machines to Vista, and all has gone quite well, with one little hitch. I'm coding in/compiling with Visual Studio 2005, and C++ that I write/build on my Vista machine runs fine there, but when I try to use the executable on XP, I'm presented with this: <edit: link removed> Any Idea as to what may have caused this misconfiguration? Sorry if this is the wrong place to ask, I'm somewhat new to this community. Thanks!
Please check manifest file embedded in your executable. Regards, Paresh.
-
Please check manifest file embedded in your executable. Regards, Paresh.
I'm a bit of a new programmer, and I'm not quite sure how to go about this :) Could you link me to a guide or the sort, my Google skills are failing me this morning. Thanks ============ Edit: I should play around a bit before asking a silly question. I got the manifest, but it's not much help to me; is VC80.CRT referring to the dll it's needing? Further, is there a way to change the dependency to use an earlier version, such as the one that ships with XP or 2000? Here's the Manifest if anyone's interested: Edit 2: I've done some reading up on how the manifest works, so as to not require direct linking of common Visual C++ files... but I don't think I want to have someone install the VC++ runtime files, when I only need say, one for example. Is it possible to tell Visual Studio to include files like MSVCR80.DLL directly in my exe, so I can have it as a standalone executable? Thanks!