views:

207

answers:

3

I am wondering about the need for an install wizard for my little Windows Forms application. No database access, just file access on a shared network drive.

I have seen times when an executable is sent in an email, copied to a desktop and used.

Other times when an 'install wizard' seems to be used to set up the application.

What dictates the need for this or not?

And if I want to use one - what needs to be added to my windows form app?

+1  A: 

If your application is truly just an .exe file, it's probably okay to distribute it as-is without an installer. This might be preferable for more advanced users, because they won't have to worry about cleaning up a broken/unwanted install - they can just delete the file and be done with it.

On the other hand, most Windows users are used to working with installers, and having shortcuts automatically created on the desktop or Start->Programs. This is where an .msi can really help. Also, using an installer will usually put your application in the "Add or Remove Programs" control panel, which most people know how to use. Also, if your application is more than just a single .exe file (e.g. multiple .dlls and resource files), you'll probably want to use an .msi.

Creating an installer is easy, look at "Setup Projects" in Visual Studio.

Andy White
Excellent - thanks.
Joe
+1  A: 

An installer is almost always a good idea, because it can work out what dependencies your application has - which you may not even be aware of.

It also looks more professional and users will have more confidence in it.

There's an open source installer called NSIS that's pretty good, if you find the Visual Studio setup wizard too clunky, as I sometimes have.

GenericMeatUnit
I agree about NSIS but I found Inno Setup easier to use http://www.jrsoftware.org/isinfo.php Both are free
Nifle
Cheers! Haven't heard of Inno Setup before. Will check it out.
GenericMeatUnit
I may well find the VS clunky - but I'll stick with it for now ;)- thanks for info.
Joe
+1  A: 

Sometimes simply copying a file just isn't sufficient, this is when you need a setup program.

  • Checking if the correct version of .NET is installed
  • Installing C++ runtime dependencies
  • Creating a desktop shortcut
  • Setting up "default" configuration data
  • Adding exceptions to the Windows Firewall
  • Preventing installation on unsupported systems such as Windows 95/98/ME
  • etc, etc.

If your program is a stand-alone application with no dependencies and can run on a stock-standard install of Windows 95... then you don't need to worry about setup ;) But if your app has any external dependencies then you want to spend some time on setup.

sascha