Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411476 Posts in 69369 Topics- by 58424 Members - Latest Member: FlyingFreeStudios

April 23, 2024, 03:01:38 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Importance of installers on Windows today
Pages: [1]
Print
Author Topic: Importance of installers on Windows today  (Read 1895 times)
fractilegames
Level 1
*



View Profile WWW
« on: February 26, 2015, 10:41:44 PM »

I'm close to finishing my cross-platform (Windows+Linux) game project and I have been looking for an easy way to create a Windows installer for it. I have tested a couple of different installers and so far Advanced Installer looks best.

But is an installer is really necessary at all?

Most people install games through Steam/Desura anyway. Personally, I would feel a lot safer with ZIP package that I extract myself than running a unknown installer executable with admin rights. Then again, I'm mostly a Linux user..

For my alpha/beta releases I have a provided a simple TAR.BZ2/ZIP packages that can be extracted anywhere. The packages contain install.sh/install.vbs scripts inside for creating start menu launchers, if the user wants to do that.

Is having an installer worth the extra work needed to create one more package version (in addition to ZIP and two Linux versions)?
Logged

ThemsAllTook
Administrator
Level 10
******



View Profile WWW
« Reply #1 on: February 26, 2015, 10:54:45 PM »

Speaking as a player, an installer is a barrier to me being able to run your game. A zip is easier and more trustworthy. Speaking as a developer, creating an installer is an extra step in your packaging process, so if you can skip that step that's less work for you. Unless your game is in a rare situation that requires something more than a file copy to install, the only reason I can see for creating an installer is to match user expectations. As long as you're not targeting technically inept users, most of them will probably have no trouble handling a zip.

Out of curiosity, why two Linux versions? (I'm not as experienced with Linux, so I'm wondering if I'm missing something important by distributing only one.)
Logged

fractilegames
Level 1
*



View Profile WWW
« Reply #2 on: February 26, 2015, 11:12:13 PM »

The two Linux versions are 32-bit and 64-bit versions. Some people still need 32-bit versions and 64-bit Linux installations are't usually able to run 32-bit executables out-of-the-box (not too hard to fix though).

Now that you asked about this, I'm not really sure how important it is to do this is anymore. It was necessary when I started this project (almost five years ago!) Smiley

Is your single version 32-bit or 64-bit?
Logged

Boreal
Level 6
*


Reinventing the wheel


View Profile
« Reply #3 on: February 27, 2015, 12:36:29 AM »

For Linux yes, you still should provide both versions as it hasn't gotten any easier to set up 32-bit compatibility on a 64-bit distro.  Unless you're using a lot of RAM (over 2 GB), a 32-bit executable will be fine for both 32-bit and 64-bit Windows.
Logged

"In software, the only numbers of significance are 0, 1, and N." - Josh Barczak

magma - Reconstructed Mantle API
rosholger
Level 1
*



View Profile
« Reply #4 on: February 27, 2015, 05:27:08 AM »

On Windows i feel like an installer is a barrier. On Linux though i prefer an installer that places the game in an appropriate place, sets up symlinks so that its in the path without me having to do that manually and also allows me to easily uninstall the game.
Logged
Cheesegrater
Level 1
*



View Profile
« Reply #5 on: February 27, 2015, 05:37:14 AM »

On windows you need an installer if you have any dll dependencies, particularly if you use the standard C++ libraries and/or MFC via Visual C++. If you have installed the latest updates (or certain devstudio hotfixes), you need to make sure those particular versions of the libraries are present on your user's machine, which isn't all that simple to do properly.

You will also need to handle privilege escalation gracefully if you are trying to get non technical people who are still using UAC to install those dependencies, and that is a lot easier to do in an installer.

If you statically link everything you can avoid some of these issues, but that rather inconsiderately wastes your customer's disk space. Smiley
Logged
Abnormal Ape
Level 0
**


Monkey Business


View Profile WWW
« Reply #6 on: February 27, 2015, 05:43:14 AM »

the only reason I can see for creating an installer is to match user expectations. As long as you're not targeting technically inept users, most of them will probably have no trouble handling a zip.
User expectations are a pretty good reason. I'm far from technologically inept but emotionally, a zip file to me screams "amateur". I also dread the extra work of having to choose where to extract it to, as the default path in \downloads sucks but I don't like to do much extra clicking.
Logged
ThemsAllTook
Administrator
Level 10
******



View Profile WWW
« Reply #7 on: February 27, 2015, 10:03:47 AM »

The two Linux versions are 32-bit and 64-bit versions. Some people still need 32-bit versions and 64-bit Linux installations are't usually able to run 32-bit executables out-of-the-box (not too hard to fix though).

Now that you asked about this, I'm not really sure how important it is to do this is anymore. It was necessary when I started this project (almost five years ago!) Smiley

Is your single version 32-bit or 64-bit?

Ah, I figured that might be it. I ended up distributing an archive that contains both 32-bit and 64-bit executables, so the user can run the appropriate one. Not quite as efficient on bandwidth and disk space, but simpler for the webpage.

User expectations are a pretty good reason. I'm far from technologically inept but emotionally, a zip file to me screams "amateur". I also dread the extra work of having to choose where to extract it to, as the default path in \downloads sucks but I don't like to do much extra clicking.

Perfect example. So, just by the people posting in this thread, it's apparent that neither option would make everyone happy. Maybe it's worth the work to provide both a zip and an installer.
Logged

J-Snake
Level 10
*****


A fool with a tool is still a fool.


View Profile WWW
« Reply #8 on: February 27, 2015, 02:10:37 PM »

I'm far from technologically inept but emotionally, a zip file to me screams "amateur".
That's what I expect most players will feel. Some of us do not represent the average crowd. Probably that should be taken into account.
Logged

Independent game developer with an elaborate focus on interesting gameplay, rewarding depth of play and technical quality.<br /><br />Trap Them: http://store.steampowered.com/app/375930
fractilegames
Level 1
*



View Profile WWW
« Reply #9 on: February 28, 2015, 04:50:01 AM »

Thanks for the replies. I think I will provide both ZIP and an installer then.

Any recommendations on installer software?

I have tried a few of them, but none of them quite fit my requirements or are too expensive. It should be easy to use (rules out WiX and NSIS), preferable something I can just point at a directory with files to install, set up some basic parameters and it does the rest. I need to able to install Visual C++ run-time with the game.

I tried Advanced Installer and it's free edition seemed good at first. I then learned that merge module for the Visual C++ runtime is not shipped with Visual Studio Express and using vcredist_x86.exe would require $400 license for Advanced Installer (prerequisites support).

Another promising installer is Actual Installer. It seems like a perfect fit for my needs and it's really easy to use. There is free version and the paid version is reasonable priced. Only problem is that I can't get it to install the Visual C++ run-time.
Logged

Cheesegrater
Level 1
*



View Profile
« Reply #10 on: February 28, 2015, 06:59:39 AM »

NSIS is about as good as it gets if you aren't willing to spend any money. Just Google for 'sample NSIS script' and change the names - lots of people have posted basic installs online.

This is a space where you can have cheap, or you can have user friendly, but not both.
Logged
J-Snake
Level 10
*****


A fool with a tool is still a fool.


View Profile WWW
« Reply #11 on: February 28, 2015, 01:36:06 PM »

On windows I used Inno Setup for 2 xna games. It did everything I wanted.

You can look it up aswell, if that's the correct page:
http://www.jrsoftware.org/isinfo.php
Logged

Independent game developer with an elaborate focus on interesting gameplay, rewarding depth of play and technical quality.<br /><br />Trap Them: http://store.steampowered.com/app/375930
Sik
Level 10
*****


View Profile WWW
« Reply #12 on: February 28, 2015, 08:37:42 PM »

It should be easy to use (rules out WiX and NSIS)

Note that for WiX there's WixEdit which is basically a proper GUI wrapper around WiX (you actually edit the project using a GUI instead of directly messing with XML files), so before ruling out WiX check if WixEdit is good enough first.
Logged
fractilegames
Level 1
*



View Profile WWW
« Reply #13 on: March 01, 2015, 12:33:42 AM »

You're right. There are GUI/Wizard front-ends for both Wix and NSIS. Also, as Cheesegrater suggested, it shouldn't be too hard to copy-paste stuff from NSIS script examples. I may have dismissed them too quickly.
Logged

bithead
Level 0
**



View Profile WWW
« Reply #14 on: April 02, 2015, 01:12:27 PM »

I use NSIS, and it suits my needs. The only issue I've experienced is certain antivirus packages flagging it as a false-positive.
Logged

Cheezmeister
Level 3
***



View Profile
« Reply #15 on: April 02, 2015, 07:24:16 PM »

NSIS is not that hard to use, really.

But I feel like, in this day and age, we shouldn't have to choose between installer and archive. A self-contained executable, i.e. zip file that just extracts its damn self and runs when you double-click it, isn't rocket science.

I mean, a web page is basically that, plus invisible network magic, and we all take that for granted.

I could probably go and invent something like that, but instead I'll sit here in my armchair until someone else does.
Logged

෴Me෴ @chzmstr | www.luchenlabs.com ቒMadeቓ RA | Nextris | Chromathud   ᙍMakingᙌCheezus II (Devlog)
Polly
Level 6
*



View Profile
« Reply #16 on: April 03, 2015, 09:14:48 AM »

A self-contained executable, i.e. zip file that just extracts its damn self and runs when you double-click it, isn't rocket science.

You mean a self-extracting archive? Windows has a tool for that built-in, simply run "IExpress.exe".

Logged
nickgravelyn
Guest
« Reply #17 on: April 04, 2015, 05:56:20 AM »

Keep in mind that still doesn't help with dependencies like DirectX or XNA. Unless your game packages all dependencies locally (which sometimes violates license agreements) installers are still important on Winodws.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic