views:

785

answers:

13

I'm not the best programmer so I found it was much easier to write a program as several separate executables, which occasionally call each other. But now I need an easy way to actually run them without writing detailed instructions like Run file one, wait until its completed and no longer in process manager before running file two, file three can be executed 15 seconds after file two has been created. Then Add a key to your registry. Etc. I figure there must be a good software out there where I can just drop all my exes in, tell it when to run them, and output one file for my clients to run. Any ideas?

+9  A: 

I've always had a good experience with NSIS

  • It's open source
  • It has a big community (and hence lots of plugins)
  • For simple things, its script-based approach is nice and easy
  • It's lightweight and fast

On the downside, if you want to do something more sophisticated, you need to use something that looks a bit like assembly language - very odd, and not particularly pleasant. Thanks for the comments about that - I'd forgotten all about it!

Luke Halliwell
Apart from their horrendous assembler-like language. Which they seem to be very proud of, oddly enough...
JesperE
I want to upvote JesperE's comment
John Ferguson
Damien
A: 

I heart wix, MSFT's open source, declarative (XML) based toolkit for building MSIs.

It's ace.

If you want to install binaries, add reg keys and even run "custom actions" (have your own code execure during install) you should have a look at it. Then you'll have a one-click (msi) solution. Good eh?

s t
+2  A: 

Yes, two ideas:

  • If you're looking for a way to statically put files, registry keys, start menu shortcuts, et cetera on your customer's systems, you should be looking for an installer solution. Many of these exist, and choosing the best one mostly comes down to features and pricing. I happen to like Caphyon's Advanced Installer, and it does have a freeware version that looks like it might meet your needs, except for the ability to run executables at scheduled times (which would require the Windows Task Scheduler support only found in the Enterprise edition, which is in the ultra-expensive price range, comparable to InstallShield...)

  • If controlling the flow of events on your customer's systems is more important than getting the executables on the system, you may want to look into Automise, which is basically an ultra-friendly UI for creating scripts, which makes things like scheduling tasks quite easy.

Anyway, you can download trial editions of both pieces of software, to see which one (or possibly both) will allow you to do what you want in the easiest way, or at least give you some ideas on how to best serve your customers. It may turn out that simply adding a new, 'supervisor' executable to take care of registry keys, scheduling, etc. could solve the problem without any third-party add-ons...

mdb
+2  A: 

If you don't have any specific requirements apart from being able to install a few executables, then basically anyone will do. I'd recommend NSIS, not because it is particularly easy to work with (it has a cumbersome assembly-like language which isn't to practical to do more complex things in), but because it is free, has a large and active community, and it generates fast installers with very low overhead. As an extra bonus, you can run the compiler (i.e. the tool which generates the installer) on Linux.

Edit: ...and whatever you do, do NOT use InstallShield.

JesperE
+12  A: 

Inno Setup is easy to use, free, open source and scriptable if you need it.

Lars Truijens
+1  A: 

The ones I've worked with are:

  • InstallShield
  • NSIS
  • INNO Setup
  • Custom created installer

My preference is INNO Setup. It's free, it's easy.

Maltrap
A: 

I think this is an duplicate of what-is-the-best-choice-for-building-windows-installers , isn't it?

Peter Parker
+1  A: 

WixEdit is an open source (install shield like) authoring tool that uses the Wix Runtime from Microsoft.

Wix Tutorials

+2  A: 

Inno Setup is simple, light-weight and covers a lot of ground. I've used it for 5-6 apps over the last 5 years and it never let me down. Highly recommended!

Before that I used InstallShield, which is one of these systems that are so complicated that they "offer" you to "utilize" their "professional services" to create your installations. In other words it's kind of a hack that only managed to build a customer base in the childhood of Windows because there was no competition. It's a bit like a 747 that runs like a Trabant.

The worst, by far, installer product I've worked with is "WISE for Windows Installer". This had me literally smash my mouse in the office floor in frustration. It is (or at least was, 4 years ago) utter crap and should be avoided at all costs. This is exactly the kind of software that those pesky license agreements are there for, else the publisher would be sued into oblivion...

A: 

The best must be a "free" one :)

http://stackoverflow.com/questions/137657/free-install-wizard-software

Hasan Tayyar BEŞİK
A: 

If you're not after an installer (which is doesn't sound like you are) Why not just write a program to do what you need?

sascha
A: 

Definately Wix. :)

Wix allows you to do the most things with ease and the difficult things without hacks, it's free and open-source.

You can use Wix within Visual Studio (using Votive) or you can use it using the .Net SDK, MSBuild and your favorite XML editor. Wix supports creating MSI installers, MSP patches, MSM Merge modules, Wix libraries and much more.

Jeroen Landheer
+1  A: 

You should take a look at InstallJammer. Not only is it free, it's cross-platform and very easy to use. Most common actions don't require any scripting at all, but with a powerful scripting language underneath the hood, you can make an install do just about anything you want.

If all you want is a basic installer to install your application, you can have it built in a matter of minutes from the first time you start it up. If you want something more powerful, the capabilities and documentation are excellent.