Publishing Games on windows - Package

York

New member
Patreon Bronze
Joined
Jul 5, 2017
Messages
24
Hey guys,

I want to publish my game on windows and I am now looking for a way to pack my media and asset files in one file. I am also looking for a good tool to create an setup file.

What are you using? How do you publish your games?
 

Phil7

Administrator
CX Code Contributor
3rd Party Tool Dev
Joined
Jun 26, 2017
Messages
644
There was a thread in the monkeyX forums once. There might be more, but the search isn't working as it should IMO.

I am also interested in the setup tool you guys prefer as for final publishing this should be the way to go.
Some short instruction on how to use it would be great...
 
Last edited:

wick

Member
3rd Party Module Dev
Tutorial Author
Patreon Bronze
Joined
Jul 17, 2017
Messages
76
For a setup file tool, I've been using Inno Setup. Haven't used others so I don't know how it measures up. Takes a little bit of scripting to point it to the appropriate files to grab, but iirc it's pretty well-documented. Plus it's free. :)

Huh, I didn't even know about the existence of resource packers. Thanks!
 

Phil7

Administrator
CX Code Contributor
3rd Party Tool Dev
Joined
Jun 26, 2017
Messages
644
I tried Inno Setup now. There is no need to try something else I think. And it was really easy to get it working.
I chose the script wizard for creating a new script.
The only step that needed some trial and error was, when you select "other aplication files". My simple solution is now to select the whole build folder. It seems to be no problem, that the cerberusgame.exe file has been selected in the step before.

There is a lot of functionality in this tool and the license is not restrictive at all as far as I can tell ...
It should be possible to create a script with it, that can easily make a setup package for every cerberus game.
 

wick

Member
3rd Party Module Dev
Tutorial Author
Patreon Bronze
Joined
Jul 17, 2017
Messages
76
The tricky part that I ran into with it was needing to specifically specify root-level dlls; here's my Files section for reference:
Code:
Source: "C:\staging\Crescent Loom\Crescent Loom.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\staging\Crescent Loom\data\*"; DestDir: "{app}\data\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\staging\Crescent Loom\internal\*"; DestDir: "{app}\data\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\staging\Crescent Loom\readme.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\staging\Crescent Loom\libgcc_s_dw2-1.dll"; DestDir: "{app}"
Source: "C:\staging\Crescent Loom\libstdc++-6.dll"; DestDir: "{app}"
Source: "C:\staging\Crescent Loom\OpenAL32.dll"; DestDir: "{app}"
 

Rich

Well-known member
CX Code Contributor
3rd Party Module Dev
Tutorial Author
3rd Party Tool Dev
Joined
Sep 9, 2017
Messages
451
Just looking at using INNO setup. Looks the biz.

Just a quick question about distributing OpenAL32.dll in the setup.

What does this mean and what do I need to do to comply?
Ive read the wiki but im either missing it or cant find it
IF YOU ARE TO DISTRIBUTE THESE BINARIES YOU MUST COMPLY WITH THE TERMS AND CONDITIONS OF THE LGPL LICENCE. IF YOU DO NOT AGREE TO THE TERMS AND CONDITION SET OUT BY THE LGPL VERSION 2 LICENCE, THEN YOU MUST REMOVE ALL COPIES OF THE DYNAMIC LINK LIBRARIES AND LICENCES.
 

wick

Member
3rd Party Module Dev
Tutorial Author
Patreon Bronze
Joined
Jul 17, 2017
Messages
76
Um, I haven't actually looked closely at that license. I've just included OpenAL32.dll in my distributions and never had any problems. I think I've seen other games do it

For background: as I understand it, OpenAL32.dll is required for sound to work. Most computers will already have it in some system folder full of dlls, but some won't. It'll fall back to looking for dlls in the same folder as the application, so including it there is a just-in-case fix.

I just took a look at Crypt of the Necrodancer's install folder, though, and it looks like they didn't include it. So maybe it's not necessary? *shrug*
 

Attachments

  • necrodancer.png
    necrodancer.png
    48.5 KB · Views: 257

Goodlookinguy

New member
3rd Party Module Dev
Joined
Nov 14, 2017
Messages
11
Crypt of the NecroDancer used FMOD instead of OpenAL, that's why it's not in the folder.
 

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
856
Just a quick question about distributing OpenAL32.dll in the setup.
OpenAL comes in three flavours. OpenAL-soft, Apples Inc. own version and the one originally distributed by Creative Labs, but now located here.
The one that comes with Cerberus is an unmodified version of OpenAL-soft that's been renamed for compatibility reasons and shouldn't be confused with the OpenAL version from openal.org. Cerberus does not use any of the additional functionality that openal-soft exports. It's just there to get round a problem with later versions of MinGW and the original export libraries in the template directory. I recommend that you do not distribute the version of OpenAL that comes with Cerberus, but distribute the OpenAL Installer as part of your Windows installer process. This avoids any potential licence issues that could arise.

Side note:
Last time I looked at Monkey2 and it looks like openal-soft is being used in a similar fashion.
 
Last edited:
Top Bottom