Sign in to follow this  
Nahbob

Distribution issues (SDL)

Recommended Posts

As the title says i'm having problems distributing my SDL game to other computers. When i try to run the .exe file on another computer, it just gives the following error: "The program has not been configured properly, try re-installing the program" This message appears despite having included all the .dll files, images and sounds that were used when i compiled the game. This is my first time trying to distribute a game to another computer, therefore i'm quite clueless on what's wrong, so all help is very appreciated.

Share this post


Link to post
Share on other sites
So, which compiler are you using? if you're using MinGW, I think the mingw runtime dll is required by SDL to be linked in your program, so, use a program like pedump to see if your executable requires mingw32.dll (or something similar, cant recall the exact name).

Share this post


Link to post
Share on other sites
I am having the same problem.

What exactly do I have to include in my "package"?
I put in
•the .exe
•all sound files, images, etc.
•the SDL DLLs
What else?

Using Dependency Walker on my .exe I get:

SDL.DLL
SDL_IMAGE.DLL
SDL_TTF.DLL
SDL_MIXER.DLL

MSVCP90.DLL
MSVCR90.DLL
KERNEL32.DLL

^
|
|
I only need to include them when the user did not install the
"Microsoft Visual C++ 2008 Redistributable Package (x86)", right?

Share this post


Link to post
Share on other sites
Quote:
Original post by jhaeling
MSVCP90.DLL
MSVCR90.DLL
KERNEL32.DLL


Kernel32.dll is a system file, do not include that one, the MSV* dlls should be installed using the redistribution package from MS because of manifests, so if you're just making a zip rather than using an installer that runs it, you should add the redistributable installer and a note in a readme or similar asking the user to use it if the game/app wont work.

Share this post


Link to post
Share on other sites
Quote:
Original post by Kambiz

That is an infantile reason to avoid a very good compiler.


It is a very good compiler indeed. It is well equipped with useful features for people who will probably forget, or have never known what it was like before these features existed in compilers.

..and thus it is my feeling that it is the programmers who rely on the luxuries of big software (that they don't even pay for) that are of infantile reasoning capability.

But that's just my opinion. :)

Share this post


Link to post
Share on other sites
Quote:

I avoid VC++ for that reason.

I assume your alternative compiler is GCC? On Windows, GCC links to the C++ runtime statically by default. You can do the same with MSVC, most people don't because all your dependencies must be built to be statically linked to the runtime too to avoid depending on the DLLs. For complex projects getting all of this to work can be too much effort, and it is not possible in some cases.

Quote:

It is a very good compiler indeed. It is well equipped with useful features for people who will probably forget, or have never known what it was like before these features existed in compilers.

..and thus it is my feeling that it is the programmers who rely on the luxuries of big software (that they don't even pay for) that are of infantile reasoning capability.

But that's just my opinion. :)

I can't comprehend your argument. You are saying that a modern compiler, with more features, is somehow, inherently worse than an older compiler? Yes, I long for the days before precompiled headers and incremental linking.

You think someone who uses a modern compiler that they didn't have to pay for has an infantile reasoning capability? I'm afraid you'll have to do better than that. Your "reasoning" makes no sense.

Share this post


Link to post
Share on other sites
Ok, I installed the microsoft distribution kit on my computer (that doesn't have MSVS) and i still get the same error when trying to run my SDL project.

Any other suggestions (Also, does having the express version change things?)

because at my school, they have the payed for version, but at home i only have the express addition on my laptop, however, when i try to run it on my desktop, i am plagued by the aformentioned error.

Any help would be wonderous, as this has been bugging me for quite some time.

Share this post


Link to post
Share on other sites
Quote:
Original post by radioteeth

What I said was that there's a difference between someone who knows how to do something without their hand held, and someone who prefers to have their hand held.


You're forgetting about the people who know how to do it without "hand-holding" but prefer it due to ease-of-use. Then again, I don't think hand-holding is the best analogy here -- maybe climbing the face of a cliff with vs. without a harness and safety equipment would be more accurate :P

Share this post


Link to post
Share on other sites
Quote:
Original post by radioteeth
What I said was that there's a difference between someone who knows how to do something without their hand held, and someone who prefers to have their hand held.
There's obviously no difference between someone who prefers having their "hand-held" and someone who can do something without their hand held. If you couldn't do it without your hand held, then it's not a matter of preference.

Besides, if you can do something the easy way, and you can do that same thing the hard way, why on earth would you choose the hard way?

Share this post


Link to post
Share on other sites
What bugs me is: why do you keep arguing over compilers instead of trying to help our fellow programmer here? This thread is meant to solve his problem, not yours.

Nahbob, are you sure you have all the SDL dlls you're using? They must be either in the same directory of the executable, or inside the WINDOWS\system32 folder.

Also, if you're using SDL_image, you'll also need some other dll files that come together with SDL_image depending on the image file type you're trying to load. For example, if you intend on loading .png files, you'll need the libpng***.dll

Share this post


Link to post
Share on other sites
Quote:
Original post by rip-off
Quote:

It is a very good compiler indeed. It is well equipped with useful features for people who will probably forget, or have never known what it was like before these features existed in compilers.

..and thus it is my feeling that it is the programmers who rely on the luxuries of big software (that they don't even pay for) that are of infantile reasoning capability.

But that's just my opinion. :)

I can't comprehend your argument.


He's just being philosophical. A good programmer would just use the tools he know best to get the job done well.

My logic is undeniable

Share this post


Link to post
Share on other sites
Quote:
Original post by JMoraes
What bugs me is: why do you keep arguing over compilers instead of trying to help our fellow programmer here? This thread is meant to solve his problem, not yours.

Nahbob, are you sure you have all the SDL dlls you're using? They must be either in the same directory of the executable, or inside the WINDOWS\system32 folder.

Also, if you're using SDL_image, you'll also need some other dll files that come together with SDL_image depending on the image file type you're trying to load. For example, if you intend on loading .png files, you'll need the libpng***.dll


Mmm, I've tried doing that as well ( release version) and that was on a computer with VS installed aswell and still no luck
I only use sdl for window init and button input so I only include the sdl.dll, i don't use sdl image or the mixer, is there another dll I'm missing?

Share this post


Link to post
Share on other sites
Quote:
Original post by BlackShark33
Mmm, I've tried doing that as well ( release version) and that was on a computer with VS installed aswell and still no luck
I only use sdl for window init and button input so I only include the sdl.dll, i don't use sdl image or the mixer, is there another dll I'm missing?
You might want to try running Dependency Walker on a computer where it doesn't work. That'll tell you what DLLs are missing.

Share this post


Link to post
Share on other sites
What does it say? If you can't take a screenshot of the whole window, at least cut'n'paste the text from the lower pane (the log) so we can take a look...

Another thing you can do is look in the Event Viewer to see what's been logged there. If you're on Windows XP, it doesn't log much of use, but Vista+ will usually log more info that's easier to diagnose with.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this