tags:

views:

119

answers:

5

I can't find an installer on the market I like that's opensource or free. Sure I would love to use Install shield, but my project needs to finish under budget.

I was thinking about creating a custom win forms app to handle the install, is this acceptable practice. Or should I be creating a custom MSI?

If MSI is the route, what tools should I use?

Essentially I need to perform the following in the installer:

  1. Create an IIS Application
  2. Set permissions
  3. Install a console app
  4. Create a scheduled task

then when patching

  1. Replace bin dll's for IIS app

The built in installers provided by Microsoft are not flexible enough to creat self standing IIS applications.

+1  A: 

If you can do it, then just create your own installer, as an executable. It could either download the file to be installed or they have downloaded a zip file and then run the executable, which will have all the files to use for the installation.

I have done that before, as I needed to do some steps that VS2003 couldn't do, and the users didn't seem to mind running the executable.

Just make certain you have some sort of version in a file or registry, so that you can tell if you need to update, as there may be some extra steps in updating between version 1.2 and 3.8, if some people don't update that often.

While your installing is running, make certain to give good information as to what you are doing and how far along you are, that will help people feel better.

James Black
+1  A: 

You can create Windows Installer by Visual Studio, and add custom actions to do what you want.

ArsenMkrt
unfortunately, the built in Microsoft stuff, doesn't create full blown IIS applications, it installs to virtual directories
JL
+4  A: 
Cheeso
How about patching? Does the MSI route patch versions easily?
JL
what does patching mean? You can design the MSI so that it patches older versions. You can also use a custom action to do anything exotic.
Cheeso
Alright, let me try it again....
JL
A: 

I have had good success with Inno Setup. It uses a pascal like language and has a GUI helper app called ISTool. It's free/OSS and well documented. I can't imagine having to write mine own installation program when there are so many options out there. Other tools that I've looked at are NSIS (already mentioned), WIX (Microsoft open sourced MSI building tool), and of course the VS Setup Project with custom scripts.

Nate
+1  A: 

WiX has Visual Studio integration and is not too painful so far as an MSI builder goes that is more fully customizable than the built in setup projects.

Steve Gilham