Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / Some advice on building Installers for Windows

Author
Message
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 27th Sep 2013 13:59 Edited at: 27th Sep 2013 14:04
Building a fully configurable Windows installer for free.

I spent the last few days testing around a dozen free installer builder solutions (yes there are that many) and I thought it might be useful to share my findings with the community.

Background: I am creating a silent installer which runs a utility service after install. There are activities in the registry and task scheduler created by the service that needed to be removed on uninstall. I also needed to stop the service on uninstall if it was running. As a side mission I decided to find the builder I thought would be easiest and / or best for building game installers.

Conclusions: There were a number of free solutions that would be great for general usage, particularly for games such as those built by AGK. I found the best simple solution was Advanced Installer. It was possible to build an attractive and professional installer for free and it was easy to learn.

The main difficulty with using the free "Wizard" solutions such as Advanced Installer was that it was impossible to do anything "clever" behind the scenes. The job I was working on I needed a silent installer, a few of the free solutions could do this (including Advanced Installer) but none of them would allow me to run the executable after a silent install. It was also impossible to edit registry items or remove scheduled tasks on uninstall without paying for the full version. I started to look at scriptable systems and quickly ended up fiddling with NSIS from Nullsoft. The scripting system is not very easy to learn using Nullsoft's own documents but I soon found that there was a plugin for the Eclipse IDE.

The plugin for Eclipse is really fantastic, you can use a wizard to configure the vast majority of the installer scripts in a simple wizard. Once you've built this you can edit the script using the Eclipse interface. It has keyword highlighting and a command list. NSIS also has a bunch of useful plugins that Eclipse detects automatically once installed.

I was soon able to add/remove registry entries and scheduled tasks easily in both the installer and uninstaller script.

The learning curve for NSIS in Eclipse is pretty shallow and well worth the time if you plan on releasing on Windows. If you already have Eclipse installed for Android development it is even easier.

A professional installer adds credibility to your game and allows you to be more involved in the user's installation experience and what actually happens on a user's machine when your game is installed. It may be easier to use a quick to learn Wizard but a full system such as the plugin for NSIS on Eclipse can save you from "upgrading" for hundreds or even thousands of pounds later to achieve the same professional results.

How do I install it?
1-Start by installing NSIS from this link (make sure you choose the -32Bit-/-64Bit- version): DOWNLOAD NSIS

2-Next install Eclipse. I found that the most compatible version was version 4.2:
-32Bit-
-64Bit-

3-Install the NSIS plugin for eclipse.
a-Open Eclipse (if you have a problem with the JVM make sure you have the java runtime environment installed on your machine).
b-From the main menu select "Help->Install New Software..."


c-Copy this address into the "Work With:" editbox at the top: http://eclipsensis.sourceforge.net/update


d-Select all and click "Next" to install the plugin

Now the wizard is available in Eclipse from the "File->New->Other" menu.


You will find it here in the "Wizard" dialog:


Different does not mean not equal: a = b

Attachments

Login to view attachments
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 27th Sep 2013 14:01
Second image.

Different does not mean not equal: a = b

Attachments

Login to view attachments
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 27th Sep 2013 14:02
Third image.

Different does not mean not equal: a = b

Attachments

Login to view attachments
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 27th Sep 2013 14:03
Fourth image.

Different does not mean not equal: a = b

Attachments

Login to view attachments
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 27th Sep 2013 16:12
Thanks! This looks great.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 27th Sep 2013 17:19
I thought since the service I was making the installer for was basically for show and utterly useless I would share the part of the experience that was worthwhile

I hope it helps someone...

Different does not mean not equal: a = b
Naphier
13
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 27th Sep 2013 18:56
Very cool. Thanks for sharing!

Login to post a reply

Server time is: 2024-05-01 23:59:42
Your offset time is: 2024-05-01 23:59:42