How to make an installer for my C# application?

I have created an application (C#, Windows Forms) on Visual Studio 2008, and now I want to make installer of this application. How can this be done?

I want my installer to

  • Copy all the files that my application is using to a user chosen path (copy the files to the chosen, some for the server-side application and some for the client side).
  • Also install .NET 3.5
  • Check for SQL Server or SQL Server Express Edition

How can I do it?


Solution 1:

  1. Add a new install project to your solution.
  2. Add targets from all projects you want to be installed.
  3. Configure pre-requirements and choose "Check for .NET 3.5 and SQL Express" option. Choose the location from where missing components must be installed.
  4. Configure your installer settings - company name, version, copyright, etc.
  5. Build and go!

Solution 2:

Generally speaking, it's recommended to use MSI-based installations on Windows. Thus, if you're ready to invest a fair bit of time, WiX is the way to go.

If you want something which is much more simpler, go with InnoSetup.