views:

187

answers:

5

There's lots of questions about installers but I haven't seen one about whether or not to actually use one in the first place.

What is the logic behind using them in the first place? Can't the user just extract it somewhere? But I guess it depends on the target user.

And on the subject of the actual setup: Can't that be done on the first startup?

+8  A: 

It very much depends on your target audience, and what your installer needs to accomplish.

If your audience is technically savvy, and the installer just has to extract some files, and create shortcuts, I probably wouldn't bother.

If you need to modify system variables, register services, etc, definitely create an installer to make life easier for your users - regardless of how technically savvy they are.

You can always offer the option of installer / no installer, and let your users decide what they want. The number of downloads and resulting support requests will tell you whether you should utilize one or not.

Dolph
+2  A: 

And on the subject of the actual setup: Can't that be done on the first startup?

uTorrent used to do this (I'm not sure if it still does... I update automatically) and I found it a little confusing at first, since I'm used to installers. For users that are possibly clueless though, it's perfect.

For more complicated applications that have multiple files installed to several locations, I think it's better to have an installer. For a series of products we produce where I work, we have several 'flavours' of installer for each product: auto-update installers can be smaller as we know the user already has prerequisites. New users, though, get a larger installer.

Charlie Salts
+1  A: 

I can't see any reason not to use an installer. When you use something like Inno Setup, creating the installer is no more difficult than creating a zip file, and you don';t have to explain to the user how to install.

anon
"reason not to use an installer" from a user's point of view... at least some freeware developers pack a lot of junk into their installers - toolbars, browser homepage screwup, 5 offers in row to register somewhere, etc. Sometimes this stuff gets installed silently, without option to refuse (obviously developer's fault, but...). With archive I can quickly check what the heck is being installed. Installer is fine when software is sold - dev has no reason to put junk in it. For freeware, having an installer is suspicious - it signals that developer might try to install another useless toolbar.
SigTerm
@Sig Never happened to me, and all the software I use (with the exception of Windows itself) is open source.
anon
@Neil Butterworth: Opensource guys rarely do that (no point - someone will remove junk and rerelease installer). However, freeware (free, but proprietary) developers tend to do it from time to time. I can't name exact packages, but I encountered something like this several times during this year - if it is "free", it will try to trick you into installing toolbar (or it'll do it anyway), changing browser homepage, and so on, so you'll have to triple-check every checkbox. "all the software I use is open source". I prefer to use whatever works best for me opensource or not.
SigTerm
@Sig actually, I forgot Foxit, which isn't FOSS (but doesn't install any extra crap). I don't use FOSS for any particular ideological reasons - mainly for financial ones, in fact.
anon
A: 

Having an installer will help your users a lot.

  • The application will be installed at the right place
  • The user won't have to set links in program files himself, or copy the extracting content you suggest in a directory
  • Your application will looks more professionnal

Moreover:

  • The user will know that using the uninstall system of windows will safely remove your application without affecting the system
Pierre 303
+1  A: 

You need something which can set up the registry and install prerequisites before starting the app, that's why you need an installer :)

Chris Dennett
Good point - not every application can set things up on first-run. Checking if a required virtual machine or runtime components are present (and installing them or prompting the user to install them) is crucial. Running a .Net app without the right framework version installed gives some very user unfriendly errors.
Charlie Salts