Executable Installers

Anyone have any experiences to share with these? I’ve never really had to mess around with them before and I’d appreciate any suggestions on choosing/using one.

Short version, I’m now maintaining a couple of mods. The audience for these mods has a fair number of ESL users and at the moment the instructions for installing them are essentially, “copy these files into this folder, then these files into this other folder, then use this if you want this”, for about 5 steps depending what you want it to do. Which appears to be indistinguishable from word salad for a lot of people who download them, and sounds too intimidating for a lot of people who don’t download it when they see what they might need to do.

What I’d like to do is set up something where it’s just a single executable with checkboxes/radio buttons, and hopefully, screenshots of what exactly will happen when the option is selected to get around the language barrier. But I’m not sure exactly what’s ideal for this and what’s necessarily the fastest/easiest way to do it. Anyone have any tips to share from learning to use NSIS or Installshield or any other recommendations for an installer-creator package? It would be ideal if it could run a separate .exe from inside the package when it’s finished too.

I haven’t kept up with the different installers, but tested some a few years ago. My favorite back then was InnoSetup. I’d stay away from Installshield, unless they’ve significantly improved it recently.

I only have personal experience with InstallShield and unless you have a fetish for tables and awkward scripting languages, it is a universe of pain. Try anything else first.

Innosetup does look nice and yep, Installshield looks kind of awkward. Thanks!

I’m using InnoSetup myself, it’s very simple to use and works very well.

NSIS (Nullsoft Scriptable Install System) is another popular freeware choice if you need more complex scripting or customization.

Many moons ago, I used WISE and InstallShield. The former was fine until you tried to do something non-trivial, at which point it felt like the tool was working against me. The latter was, as has been noted, a thoroughly unpleasant experience all the way around.

Sounds like some better options have come around since then, thankfully.

I have used Wise and Installshield and even InnoSetup as well as writing my own installer.

If you just need one or two installers, I would skip anything you have to pay for. Wise and Installshield create huge packages (I do not know if this matters to you) for even the most trivial installs. They are also slow.

InnoSetup is a lot less user friendly for the developer, but it is free and if you must have a .msi, it is the way to go.

If you just have a few products, and you can program somewhat, just make your own dialog based app that is your installer. That is what I did. There are public libraries you can use to handle zip files so you can just include a zip file as a resource and package all your files with it. For somewhat simple installs, I would go with this method.

You are confusing InnoSetup with WiX which is a free utility that makes MSI packages. InnoSetup is extremely user-friendly but does not create MSI packages.

If you just have a few products, and you can program somewhat, just make your own dialog based app that is your installer. That is what I did.

That would be an amazingly pointless waste of effort, given that InnoSetup and NSIS are both free and easy to use…

ISTool is a nice little GUI for Inno Setup.

Oh that’s a good one, thanks jazar.

Yeah, I’m not really into coding my own interface for this - that would take it in the other direction of making it something that is vastly harder for me to maintain and probably would turn out so bad that it would make things more awful for users too :)

I’ve never used an installer maker thing, but I have used mods by people who do and it bugs me when some of the smaller mods put stuff in my registry (add/remove programs) and start menu. I just bring that up since it’s something you might want to avoid doing depending on what kind of mod we’re talking about. I assume the installer maker has options for that.

It’s still at the design stage (I have a bunch of stuff to actually do to the mods themselves first) for the installer now. At the moment everyone is simply encouraged to use JSGME, which works well enough, but it’s quite easy to sabotage if it’s used incorrectly by the user.

Registry stuff - yeah, that bugs me too, I will have to see what can be done with it. There are several situations that come to mind where you would distinctly not want it to either remove a file it installed or replace it with a backup from prior to installation. Hopefully it can be made into a straightforward thing where uninstallation is simple and non-destructive without having to do too much work on it.

All actual, real, proper installer packages MUST write stuff to the registry since that’s where the Add/Remove Programs information is kept, and properly installed programs are supposed to show up there.

If you don’t want that you could simply use a self-extracting archive. For example, WinRAR is inexpensive and can create self-extracting archives that are also digitally signed with your registration key to protect against tampering.

I miss the good ol’ days when installing meant “copy .” and uninstalling meant “del .”.

That’s of course all I would do for a mod anyway…

Speaking of which, if you do make some kind of executable installer package please remember to keep offering a simple archive for manual extraction as an alternative download. I hate having to run installers for a few files that just need to be copied to the right places.

Well, ok, main reasons for wanting an installer here are:

  1. mod has a lot of options, some of which are mutually exclusive or only apply if you’re running the game a certain way.

  2. mod involves touching some master index files, which, if you’re using an incorrect version, or one that points to the wrong thing, or something that doesn’t exist, will cause all sorts of problems from things not working right to the game instantly CTDing. Tricky to leave to the user to do.

  3. there are a few idiot-checks (mainly - if they have extracted all the files from the game properly, and their game patch version) that are the source of a good 80-90% of issues, despite being repeatedly answered, headlined as the very first thing to do before installation, etc. Issues that, presumably, you could find out by querying the version number of the main game .exe or the presence of other files before you let them get any further into shit.

  4. couple of things that they need to do once they are in game that I would love to be able to make sure they know to do by seeing a screenshot of them being done while it’s installing.