Visual C++ 2008 exp Package Requirements?!

Started by
4 comments, last by Spanozo 15 years, 10 months ago
I recenlty started making Directx games, and I heard that visual C++ has the best compatability with the newer versions of DirectX so i decided to download the express version 2008(newer is better). Everything worked fine, everything ran, Visual C++ found all the libraries, and i didn't require any .dlls but when I sent the published build to other computers and tried to run it, an executable error would pop up and it would say something along the lines of "improper application startup, please reinstall application and try again". I installed the newest DirectX update on the computer, but that didn't help so i installed Microsoft visual C++ redistributable package (86x) and that caused it to work. But my question is Why? Why does it require Microsft packages when other, more complex, games don't. Is it Visual C++ 2008 Express that is causing the problems, and if so, what is a more compatible complier?
Advertisement
This is normal behaviour for MS apps written in C++.
If you ever install the latest ATI drivers you'll see during the setup if you do a custom install the vs2005 c++ runtime files being installed for example.

[Edited by - daviangel on May 28, 2008 3:47:54 PM]
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Some programs will statically link the library, so they won't need to be included.

Some programs will include the required libraries in the same location as the executable, if permitted by their license.

If you do neither of those, then you will need to use the redistributable package.



This is nothing new. It has been the case for almost 15 years now in Windows, and longer than that on other OSs.
Most commercial games include the appropriate runtime libraries in their own installers. Chances are they detect that you already have older versions of the runtimes installed so you never even see those running, but since MSVC 2008 is the newest your users most likely will not have it.

Is this a big deal? You've had to distribute the runtimes with all applications created with MSVC since.. always, unless, as mentioned, you statically link.
Ra
Here's a video with a more depth explanation if you are a visual person like myself:
Everything you wanted to know about VC++ deployment but were afraid to ask
After C++ code has been written, compiled and tested it's now time for figuring out how to deploy it successfully on n number of users' machines and their various configurations... This is no easy task given the number of potential versioning conflicts. Of course, there are ways to do this, many of them automatic in nature, but which way is the best way? How do the various methodologies of delploying exes and dlls on machines stack up? How does it all work? Deployment is one of those things that many of us take for granted, but George Mileka and Ben Anderson of the Visual C++ team spend much of their time thinking about the process of deploying code to any number of machines so we don't have to. Tune in and learn about the nitty gritty of VC deployment. There is plenty of whiteboarding in this one so be sure to put your propeller caps on.

[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Quote:Original post by daviangel
Here's a video with a more depth explanation if you are a visual person like myself:
Everything you wanted to know about VC++ deployment but were afraid to ask
After C++ code has been written, compiled and tested it's now time for figuring out how to deploy it successfully on n number of users' machines and their various configurations... This is no easy task given the number of potential versioning conflicts. Of course, there are ways to do this, many of them automatic in nature, but which way is the best way? How do the various methodologies of delploying exes and dlls on machines stack up? How does it all work? Deployment is one of those things that many of us take for granted, but George Mileka and Ben Anderson of the Visual C++ team spend much of their time thinking about the process of deploying code to any number of machines so we don't have to. Tune in and learn about the nitty gritty of VC deployment. There is plenty of whiteboarding in this one so be sure to put your propeller caps on.


Thanks alot.

This topic is closed to new replies.

Advertisement