chobo2
chobo2

Reputation: 85775

How to make a setup installer? For asp.net mvc 2.0, cmd line applications and webservices

I am wondering how can I make a setup project for each of these projects

I am using VS 2010 ultimate and I know that I can use the the free edition of install shield for at least the cmd line application. I am not sure about the other 2. I also know about the setup project that you can use. I just need a lot more than the basics so I am not sure how to make either one do these things.

So here is some criteria that each of my setups should be able to do.

Asp.net mvc 2.0 criteria

  1. free (I really don't want to pay for an installer - you can list them just so I am aware of them).
  2. Terms of service
  3. Ability to force a user to setup certain settings. Like connection string, smtp settings. So they should be able to type it in through the setup wizard and the web.config should be updated based on this.
  4. When it installs the stuff it should all be .dlls for all the C# code.

C# cmd line criteria

  1. All criteria as above
  2. I am not sure if this has to be done in the code but I have a html file that contains a template for a message. The path to this file is in the web.config so I a person needs to set this path each time they install it. I tried to do this in code but I could not figure out how to make it find the right path in development and the right path in production. It seems like If you run in VS the path is different.

Web-service

Pretty much everything I covered in the first 2 ones.

Thanks

Upvotes: 0

Views: 1390

Answers (1)

Yan Sklyarenko
Yan Sklyarenko

Reputation: 32250

If I were you, I would choose WiX as a platform for your installers for all these applications. Some reasoning behind this:

  • it is XML-based, that is, friendly to source control, diffing and merging
  • it has rich set of tools for most of scenarios you might need (harvesting lots of files, creating upgrades and patches, creating multi-lingual installs, etc.)
  • it is free and open source
  • it is production-ready (at least, version 3.0 - later versions are still in beta)
  • it is used by Microsoft to create installations for such products like MS Office
  • it has rich community at [email protected] and StackOverflow
  • it integrates into the VS like a charm
  • it is friendly to build engines like NAnt and MSBuild

VS setup project is not my choice because:

  • it is very limited in set of features-
  • it encourages bad practices like Installer classes
  • finally, it was retired by Microsoft

I'm not familiar with InstallShield Limited edition, though.

Hope this overview will help you finding the best option for your case.

Upvotes: 1

Related Questions