Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.NET setup projects using Visual Studio 2008

When you create a Setup project for a Windows/Console application, you find that there are two outputs.

  1. Setup.exe
  2. .msi

What does setup.exe and .MSI do? Which one should be used for installation?

I have seen that I can install the application using both. But Setup.exe is fairly small file compared to the .MSI file.

Questions

  1. If I have to ship to the client. I cannot send two files. What's the best approach to merge these two files into one Setup file?

  2. I have read that Setup.exe is a bootstrapper which checks the .NET framework and then calls the .MSI file. Is it correct?

  3. I couldn't test for the unavailability of .NET framework because I'm a .NET developer and also my team works on .NET and have .NET installed. I didn't want to risk the Visual Studio by uninstalling the .NET framework and testing the setup application.

How does it install .NET framework? It is 200 MB odd, but my setup is less than 3 MB.

Does it give a option to download or something?

Any help appreciated.

Thanks,

like image 535
user46795 Avatar asked Mar 21 '09 18:03

user46795


People also ask

How do I open an ASP NET project in Visual Studio 2008?

In Visual Studio, on the File menu, select New Project, and then select the ASP.NET Web Application template. Click OK. Visual Studio opens to the Source view of the Default. aspx page so that you can edit it.

Is Visual Studio 2008 still supported?

Visual Studio 2008 - Microsoft Lifecycle | Microsoft Learn. This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.


2 Answers

The MSI is the installer for you application. The setup file is a bootstrap that will check for pre-reqs. Like correct version of the windows installer. I think it is also the setup.exe that will allow download of the right version of the .NET framework. You can use the .MSI on its own, you can't use just the setup.exe.

You are correct that the setup allows the download of the correct version of .NET framework.

There are ways to merge the MSI and the Setup.exe to create a single exe. Things like a self-extracting zip or iexpress.

Why can't you send them both files though? I think if you publish the setup and msi on a server for download the setup will find and download your MSI when it is required.

like image 144
pipTheGeek Avatar answered Sep 22 '22 20:09

pipTheGeek


The reason for the separate setup.exe I think is due to the fact that you cannot have two MSI installations running at the same time. Therefore if your application requires prerequisites installed by the MSI your installation will run into trouble.

With regards to setting up the framework you could in the project settings include the .NET framework as a prerequisite of your application and will this get installed if not already present on the target machine. You can further choose to package the installation or download it from the internet

like image 35
Rad Avatar answered Sep 22 '22 20:09

Rad