Game Development Community

What are you using as package build tool?

by Martin Schultz · in Torque Game Engine · 12/07/2006 (6:15 am) · 15 replies

Hi guys,

I'd like to gather some information what you guys are using to actually package up your build and create the source for an installer maker? From the Java world I know a tool like "Ant", but is there something very common in the C/C++ world that's beeing used for selecting/copying/packaging up the distribution files?

The last time I did this I wrote a simple batch command that copied all the necessary stuff together. But isn't there any better tool out there? The search didn't bring the desired results on this site (and on Goolge). Maybe you guys have a good idea.

Martin

#1
12/07/2006 (7:51 am)
I know TGB has a builder/packager but I haven't seen a similar tool for TGE
#2
12/07/2006 (8:08 am)
For something free, consider NullSoft's NSIS or Inno Setup.

Personally, I use Setup Factory and TrueUpdate because Indigo Rose has a complete Software Deployment Suite that is complete, extremely flexible, and you can even customize it using its Lua based scripting engine.

It's a tad on the expensive side for the full suite, but if you need to save time and bandwidth and you want a professional looking installer / updater then you really can't find anything better.... my only complaint is they don't have a Mac version. :-(
#3
12/07/2006 (8:33 am)
Mac installers are pretty easy (and free) to make, especially since they are pretty standardized in appearance and function.
#4
12/07/2006 (8:33 am)
I'm not distributing games at the moment, but for my work I use NSIS on Windows.

For the Mac I started looking at Apple's PackageMaker [included with OS X], but eventually decided just to make a .dmg and have the user drag the app to the Applications folder. You don't have the registry and all that to deal with on the mac, so an installer is rarely necessary.
#5
12/07/2006 (8:40 am)
@Andy: You're right, probably the easiest and most common thing on the Mac is to just create a .dmg which opens up a window with your game's folder in it. Then you just drag the folder to your hard drive to install.
#6
12/07/2006 (8:51 am)
Oh guys, thanks for the install maker hints, but it seems I asked the wrong question :-)
What I meant originally was: Do you guys copy all files that shall be included in the redistributable into a new folder and then let the install maker run over it and if so, what tool do you use to copy those files?

Damn, english is not my mother language but I'm trying hard to master it :-)

Well, in the Java world, after you compiled the sources to class files, usually a tool call "Ant" is used which copies the desired files into the destination location to pack them there into a distribution file. Ant is configured via XML, so in the corresponding XML file you tell Ant for which files it should look for etc. and finally it calls the package builder.

I hope I explained it now a bit better what I'm looking for. Nevertheless, it's also good to know what install makers you use for your stuff :-)
#7
12/07/2006 (8:54 am)
@asmaloney:
So for the Mac you simply use PackageMaker, drag all the stuff in there and that's it? Wow, seems easy! If the file list could be handed over as argument, I could have a common list of files for both operating systems (Win/Mac) and two seperate ones specific to the OS.
#8
12/07/2006 (9:09 am)
@Martin:

No - I don't use PackageMaker at all. I outlined the steps I use here: here [TDN].

You don't need the extra steps for opening the dmg window automatically, or for adding art in the background, but I think they're nice touches.

So for your case, you could write a script to copy the right files into a new folder and then follow these steps. [This is actually the way I do it.] After the first time, you can keep a copy of the dmg around and just modify the files.

Hope that makes sense - haven't had caffeine yet.
#9
12/07/2006 (9:20 am)
Great TDN article, Andy. Thanks for posting that.
#10
12/07/2006 (10:38 am)
@Rubes:

Thanks! The other thing I do is include an link to /Applications directly in the dmg file, so the user can just drag and drop right in the image. Just makes it that little bit more convenient. I'll update the article with a screenshot to show what I mean...
#11
12/07/2006 (10:39 am)
@Andy: That's true, and it works really well. I've only started to see that recently, though. I'm surprised I hadn't seen that being done sooner.
#12
12/07/2006 (11:11 am)
I've updated the article with how to do the link properly and an example screenie.
#13
12/07/2006 (11:21 am)
Martin - if you're familiar with Ant you're probably in good shape.

We have a fairly involved build & release process for the lounge:
* check out from subversion
* increment version numbers etc
* compile C++ via Visual Studio
* include/exclude certain files based on the build flavour
* compile torquescripts into .dso's
* build installer via Nullsoft
* check in build artifacts to subversion

- and it's all automated with Ant.
#14
12/07/2006 (11:49 am)
Yup - ant works fine also on non-java projects
#15
12/07/2006 (12:51 pm)
Sounds like Ant is the way to go :-)
Thanks guys!