Page 1 of 2

Create custom installer from Spring's default installer

Posted: 07 Dec 2010, 21:15
by abma
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

Re: Create custom installer from Spring's default installer

Posted: 07 Dec 2010, 21:21
by Satirik

Re: Create custom installer from Spring's default installer

Posted: 07 Dec 2010, 21:29
by abma
that doesn't answer my question :-P (but thanks for that hint)

Re: Create custom installer from Spring's default installer

Posted: 08 Dec 2010, 04:50
by Hobo Joe
Absolutely yes. I'm not even a developer and I would use it.

Re: Create custom installer from Spring's default installer

Posted: 08 Dec 2010, 08:21
by azaremoth
Yes of course!

Re: Create custom installer from Spring's default installer

Posted: 08 Dec 2010, 23:30
by AF
There is demand

Re: Create custom installer from Spring's default installer

Posted: 09 Dec 2010, 01:28
by Forboding Angel
You should also add support for games using rapid.

Re: Create custom installer from Spring's default installer

Posted: 09 Dec 2010, 13:54
by AF
Forboding Angel wrote:You should also add support for games using rapid.
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 place

Re: Create custom installer from Spring's default installer

Posted: 09 Dec 2010, 16:05
by Forboding Angel
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

Posted: 12 Dec 2010, 03:33
by AF
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.

Re: Create custom installer from Spring's default installer

Posted: 13 Dec 2010, 02:19
by Forboding Angel
Then I can think of 2 - 4 games that would use it (not counting *A).

Re: Create custom installer from Spring's default installer

Posted: 13 Dec 2010, 08:27
by knorke
Then I can think of 2 - 4 games that would use it (not counting *A).
Which ones?
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 ( :roll: ) just look at all the Folsomdam variants. Chances are a BA installer would still require downloading lots of 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

Posted: 13 Dec 2010, 20:57
by oksnoop2
I'd use it for ct.

Re: Create custom installer from Spring's default installer

Posted: 14 Dec 2010, 09:13
by Forboding Angel
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)...

Re: Create custom installer from Spring's default installer

Posted: 13 Jan 2011, 01:54
by abma
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.

Re: Create custom installer from Spring's default installer

Posted: 13 Jan 2011, 02:41
by Licho
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.

Re: Create custom installer from Spring's default installer

Posted: 24 Jan 2011, 07:30
by bobthedinosaur
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

Posted: 12 Feb 2011, 17:03
by abma
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:

Code: Select all

echo "SPRING:https://github.com/abma/springinstaller/raw/master/examples/springinstaller.ini" >>springinstaller.exe
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 :-)

Re: Create custom installer from Spring's default installer

Posted: 12 Feb 2011, 17:53
by SeanHeron
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

Posted: 12 Feb 2011, 18:27
by knorke
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 :roll: (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.