views:

74

answers:

2

I have created a C#/.Net application using visual studio. I have also created an installer project that puts out two files:

  • An MSI file
  • Setup.exe file

In my installer project properties I have setup .Net 3.5 as a prerequisite.

What I would like my installer to do as as follows:

  • Put out a single file (MSI/exe/whatever) that also includes .Net framework prerequisite
  • The installer should check whether .Net framework is installed on the target machine. If not, it should install it from its own bundled copy.

Right now my installer sends people to the web for getting .Net. This is not the user experience I want. I need to distribute my app to machines which may not be online and may not have been kept upto date. Unfortunately for the bloated world, my clients need a solution, not a lecture.

Thanks for your help.

-Raj

A: 

Inno setup may be helpful. See this article.

renick
Thanks for taking the time. I ended up using NSIS.
+1  A: 

As far as I know you cannot bundle the full .NET framework installation in an application MSI. If you have offline clients, then you must provide the full 230MB .NET 3.5 sp1 installation, which must be run before your client application's installer. This is available here.

Simon Chadwick
Thanks for your pointer. I ended up configuring the prerequisites on my vsdproject to create local packages for .Net 3.5 SP1 and then stitching an installer together using NSIS.