SFML community forums

Help => General => Topic started by: Eulavvalue on June 19, 2013, 04:48:33 am

Title: Redistributing game
Post by: Eulavvalue on June 19, 2013, 04:48:33 am
Hello and thanks for stopping in the thread. At the moment I have an issue trying to get friends to play a game I made to run correctly. The error they are getting is "The application was unable to start correctly (0xc000007b). Click OK to close the application."

This is the zip file I sent to them: http://i.imgur.com/JY4G5KG.png

This is a picture of Advanced Installer 10.2 where I packaged the game (Ignore the red question marks I was testing something): http://i.imgur.com/45RcfPT.png

A little bit about the files - I included the Release version of the Asteroids.exe. I included the debug and non-debug versions of the SFML 2.0 files, and the rest are required MSVS 2012 .dll's from what I understand.

Am I missing any files? I've tried it on three different friends. Two who do not have MSVS 2012, and one that does. The one that does have it installed had no issues running the program.
Title: Re: Redistributing game
Post by: fallahn on June 19, 2013, 10:34:32 am
You don't need to distribute the debug dlls with the release version (or even dlls you don't use/link such as networking), although it won't do any harm as they will just be ignored. Your friends probably need to install the VC redistributable (http://www.microsoft.com/en-US/download/details.aspx?id=30679) which you can get from Microsoft, and include with your installer.
Title: Re: Redistributing game
Post by: Silvah on June 19, 2013, 01:10:48 pm
You don't need to distribute the debug dlls with the release version […] although it won't do any harm
Apart from that it's illegal to redistribute them (http://msdn.microsoft.com/en-us/library/8kche8ah%28v=vs.110%29.aspx).
Quote from: Microsoft
You cannot redistribute all of the files that are included in Visual Studio; you are only permitted to redistribute the files that are specified in Redist.txt. Debug versions of applications and the various Visual C++ DLLs are not redistributable.
Title: Re: Redistributing game
Post by: fallahn on June 19, 2013, 01:52:26 pm
Interesting, I didn't know that , I guess that's why they have a special redistributable package. Does that cover the SFML debug dlls too (which are what I was actually referring to)?
Title: Re: Redistributing game
Post by: zsbzsb on June 19, 2013, 03:47:18 pm
Interesting, I didn't know that , I guess that's why they have a special redistributable package. Does that cover the SFML debug dlls too (which are what I was actually referring to)?

You can distribute SFML libraries any way you want. The difference is the way Microsoft licenses their libraries compared to SFML. MS libraries are proprietary while SFML is licensed under the zlib license. The zlib license basically states you can do anything with this code/library as long as you don't misrepresent where you got it from and that you don't claim that you wrote it yourself.
Title: Re: Redistributing game
Post by: Nexus on June 19, 2013, 08:04:43 pm
MS libraries are proprietary while SFML is licensed under the zlib license.
It's not a question of source code, but of binaries. As long as they have been compiled with Visual Studio, Microsoft has a word to say about their redistribution.

I'm not sure whether debug binaries fall under the category "Debug versions of applications" as stated by Silvah, they could have been clearer here. I would say "no". "Yes" would mean that every library which distributes debug .lib and .dll files, including SFML, would act illegally.
Title: Re: Redistributing game
Post by: Eulavvalue on June 21, 2013, 05:36:33 am
Thanks for the responses. It seems like when I had him download the VC redistributable he ran the 64 bit .exe when it was a 32 bit application. He ran the 32 bit one and it worked perfectly. I'll remove some of the extra .dll's since they aren't needed, and could cause legal issues (although they wouldn't get much money wise from me :P).