Create custom installer from Spring's default installer
Moderator: Moderators
Create custom installer from Spring's default installer
will anyone use it, if i (try) to implement that?
http://springrts.com/mantis/view.php?id=2252
this would allow, to append data to the official spring installer, which would be installed, when spring is installed.
for example, attach a mod + a map...
to do that, only something like
"copy spring_0.82.6.1.exe map.sd7 mod.sd7 spring_0.82.6.1.txt my_custom_installer.exe"
is needed...
integration to springfiles for example should be easy, too.
but it has some disadvantages:
- it can't be easily customized
- it will be still named spring installer
- it is a dirty hack
http://springrts.com/mantis/view.php?id=2252
this would allow, to append data to the official spring installer, which would be installed, when spring is installed.
for example, attach a mod + a map...
to do that, only something like
"copy spring_0.82.6.1.exe map.sd7 mod.sd7 spring_0.82.6.1.txt my_custom_installer.exe"
is needed...
integration to springfiles for example should be easy, too.
but it has some disadvantages:
- it can't be easily customized
- it will be still named spring installer
- it is a dirty hack
Last edited by abma on 07 Dec 2010, 21:29, edited 2 times in total.
Re: Create custom installer from Spring's default installer
that doesn't answer my question
(but thanks for that hint)

Re: Create custom installer from Spring's default installer
Absolutely yes. I'm not even a developer and I would use it.
Re: Create custom installer from Spring's default installer
Yes of course!
Re: Create custom installer from Spring's default installer
There is demand
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Re: Create custom installer from Spring's default installer
You should also add support for games using rapid.
Re: Create custom installer from Spring's default installer
How? Unless we turn it into a downloader, at which point we've introduced a slew of problems, which is why we took the downloader component out in the first placeForboding Angel wrote:You should also add support for games using rapid.
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Re: Create custom installer from Spring's default installer
If rapid is included with the installer, the only hard part of the equation is executing a batch file.
Re: Create custom installer from Spring's default installer
Some of the issues that were raised cannot be fixed by that, or any 'ease of use'.
For example, running the installer offline pretty much nukes it, not to mention the problems involving users thinking theyre grabbing a full installer only then to be backstabbed by having yet another download. Automated or not, it pisses people off. That's before we get to the person who downloaded it in uni and went home to their farm with 56 k dial up to install and play over the holidays only to find most of that holiday will be spent watching a 2kbps transfer.
That's before we start poking at the question of wether games that need the rapid system should be packaged as installers and distributed at all. If you make major updates so regularly that an installer would be out of date within 2 weeks, then perhaps your not ready for distribution yet. There's a whole can of worms there that could spark off a whole new thread.
If you really want it, theres nothing stopping an svn commit hook that runs NSIS after doing a checkout and zip up of your repository, to generate an installer on your webhost.
For example, running the installer offline pretty much nukes it, not to mention the problems involving users thinking theyre grabbing a full installer only then to be backstabbed by having yet another download. Automated or not, it pisses people off. That's before we get to the person who downloaded it in uni and went home to their farm with 56 k dial up to install and play over the holidays only to find most of that holiday will be spent watching a 2kbps transfer.
That's before we start poking at the question of wether games that need the rapid system should be packaged as installers and distributed at all. If you make major updates so regularly that an installer would be out of date within 2 weeks, then perhaps your not ready for distribution yet. There's a whole can of worms there that could spark off a whole new thread.
If you really want it, theres nothing stopping an svn commit hook that runs NSIS after doing a checkout and zip up of your repository, to generate an installer on your webhost.
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Re: Create custom installer from Spring's default installer
Then I can think of 2 - 4 games that would use it (not counting *A).
Re: Create custom installer from Spring's default installer
Which ones?Then I can think of 2 - 4 games that would use it (not counting *A).
The only games I can think of that "update slow enough" to make an installer not outdated very fast are KP, GRTS and BA. Even XTA gets played in different versions nowadays.
BA is played on too many maps (

KP and GRTS have their own set of maps that can be included, so that leaves those. But they already have installers afaik.
Re: Create custom installer from Spring's default installer
I'd use it for ct.
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Re: Create custom installer from Spring's default installer
Well the thing you want to avoid, is having x amount of different versions being played at any given time, because that will cause you even more issues.
I had to go on a major rampage delivering ahole letters (Because apparently they refuse to respond unless you threaten them) to download sites just to get a freaking 2 yr old version of evo stamped out, it was a fucking nightmare.
Having a non-upgradeable version of your game floating around is not fun by any means, because even moreso, you have an incredibly tough time getting the word out that things have progressed much further.
Why do you think I went on a posting rampage this last summer on the website, as well as the youtube videos etc etc? I can tell you I didn't do it because I think making newsposts is fun (I HATE doing them)...
I had to go on a major rampage delivering ahole letters (Because apparently they refuse to respond unless you threaten them) to download sites just to get a freaking 2 yr old version of evo stamped out, it was a fucking nightmare.
Having a non-upgradeable version of your game floating around is not fun by any means, because even moreso, you have an incredibly tough time getting the word out that things have progressed much further.
Why do you think I went on a posting rampage this last summer on the website, as well as the youtube videos etc etc? I can tell you I didn't do it because I think making newsposts is fun (I HATE doing them)...
Re: Create custom installer from Spring's default installer
intention for this is, to get an easier start for newbies: currently installation of spring isn't easy.
newbies want: download exe + play
so only the game + a few, well selected single-player maps will be attached (1v1,2v2 are perfect for that)
also, if the games want to be distributed on other sites, they need an installer.
currently it works, but it is in my opinion to hacky.
an installer ready for that is in the custominstaller branch: http://springrts.com/dl/buildbot/defaul ... 1f90c4.exe
adding files to it can currently be done by running a perl script.
i'm unsure if this will make its way into any release, because of the hacks...
i think about to make it an online installer, because the changed stuff on the installer won't be so hacky, but this needs more work.
maybe an additional installer would fit better these needs...
in the current master version of spring i added some stuff to install the engine unattended / added parameter to deselect stuff. see
github for more details.
i'm also writing a (portable) downloader for games/maps which supports (currently) all ways, files for spring are distributed (rapid, plasma, normal http). maybe this will be the cleaner solution, it isn't finished, but works.
newbies want: download exe + play
so only the game + a few, well selected single-player maps will be attached (1v1,2v2 are perfect for that)
also, if the games want to be distributed on other sites, they need an installer.
currently it works, but it is in my opinion to hacky.
an installer ready for that is in the custominstaller branch: http://springrts.com/dl/buildbot/defaul ... 1f90c4.exe
adding files to it can currently be done by running a perl script.
i'm unsure if this will make its way into any release, because of the hacks...
i think about to make it an online installer, because the changed stuff on the installer won't be so hacky, but this needs more work.
maybe an additional installer would fit better these needs...
in the current master version of spring i added some stuff to install the engine unattended / added parameter to deselect stuff. see
github for more details.
i'm also writing a (portable) downloader for games/maps which supports (currently) all ways, files for spring are distributed (rapid, plasma, normal http). maybe this will be the cleaner solution, it isn't finished, but works.
Last edited by abma on 13 Feb 2011, 01:34, edited 1 time in total.
Re: Create custom installer from Spring's default installer
Yeah ZK has too rapid cycle for this.
Therefore we distribute lobby installer directly which is set to download latest lobby, current engine and stable verison of Zero-K. It's still nice to see this though for other games. There was some zwsg installer demo for gundam which was easy to modify.
Therefore we distribute lobby installer directly which is set to download latest lobby, current engine and stable verison of Zero-K. It's still nice to see this though for other games. There was some zwsg installer demo for gundam which was easy to modify.
- bobthedinosaur
- Blood & Steel Developer
- Posts: 2702
- Joined: 25 Aug 2004, 13:31
Re: Create custom installer from Spring's default installer
Can some one write up a simple tutorial for setting up mods/ maps with this installer system?
Re: Create custom installer from Spring's default installer
i've written an online installer from scratch, customizing is done by an .ini-file, see https://github.com/abma/springinstaller ... taller.ini for an example.
to publish an installer, you customize it by adding the url to a ini-file to it:
for example:
this will make the installer to download the .ini.
The installer downloads all files into a subfolder, if the file(s) is already there, it won't be fetched, so it's possible that it works offline, if all files are there.
best of it: it's only about 200KB.
testers + feedback is welcome
to publish an installer, you customize it by adding the url to a ini-file to it:
for example:
Code: Select all
echo "SPRING:https://github.com/abma/springinstaller/raw/master/examples/springinstaller.ini" >>springinstaller.exe
The installer downloads all files into a subfolder, if the file(s) is already there, it won't be fetched, so it's possible that it works offline, if all files are there.
best of it: it's only about 200KB.
testers + feedback is welcome

- Attachments
-
- springinstaller.7z
- (200.07 KiB) Downloaded 15 times
Last edited by abma on 14 Feb 2011, 17:30, edited 10 times in total.
Re: Create custom installer from Spring's default installer
This sounds pretty neat, and darn easy to use/setup to boot! I'll be sure to give it a try today or tomorrow :).
Re: Create custom installer from Spring's default installer
springinstaller.exe says "can not find springinstaller.ini [OK-button]"
but test.exe starts.
noticed during path chosing, it says "required space: 0.0 KB"
installing seems to work but i canceled during downloading because my spring install is currently working and i am afraid to destroy it
(settings, directorys etc)
I am interessted in a solution to make installing my "spring tanks" (once its done but then again realisticly that will be "never") easier but i am not sure if this or other installers work for it. Because i dont understand the installer, i can not help players should they have problems with it.
That is something i dont really like...I cant even help with rapid problems as well, same problem.
At least when just giving the link to the .sd7 file and saying "install engine, download game into mods\" thats quite clear. Or just zipping up whole spring folder and sending, that also worked but yeah..
That way I can also include a singleplayer.bat to spring.exe -someStartscript.txt as to avoid the map/mod selection screen of spring.exe...
So chosing what files to include is done by that .ini file, is that all that needs to be done?
Does the md5= entry have to be correct? How do I easily get it for all files?
And doesnt the hash change with every new engine version?
So all files have to be uploaded somewhere: Would it be possible to download something like files.zip instead of single files? Because having to update/check mirrors for lots of files seems like a bit of work.
but test.exe starts.
noticed during path chosing, it says "required space: 0.0 KB"
installing seems to work but i canceled during downloading because my spring install is currently working and i am afraid to destroy it

I am interessted in a solution to make installing my "spring tanks" (once its done but then again realisticly that will be "never") easier but i am not sure if this or other installers work for it. Because i dont understand the installer, i can not help players should they have problems with it.
That is something i dont really like...I cant even help with rapid problems as well, same problem.
At least when just giving the link to the .sd7 file and saying "install engine, download game into mods\" thats quite clear. Or just zipping up whole spring folder and sending, that also worked but yeah..
That way I can also include a singleplayer.bat to spring.exe -someStartscript.txt as to avoid the map/mod selection screen of spring.exe...
So chosing what files to include is done by that .ini file, is that all that needs to be done?
Does the md5= entry have to be correct? How do I easily get it for all files?
And doesnt the hash change with every new engine version?
So all files have to be uploaded somewhere: Would it be possible to download something like files.zip instead of single files? Because having to update/check mirrors for lots of files seems like a bit of work.