none
Setup Project produces both a MSI file and a setup.exe file. RRS feed

  • Question

  • I'm new to this stuff and this is the first setup project that I've tried.  I created a VB.NET 2005 application and a setup project for it.  I noticed that the setup project generates both a app_name.msi file and a setup.exe file.

    Does anyone know what the difference between these two are?  Which one is the file I give to someone else so they can install my application on their computer?
    Monday, August 21, 2006 6:22 PM

Answers

  • While trying to find an answer to my other question I came across this excerpt which explains the difference between the msi and the exe.  Hope this helps!

    File Name

    Description

    HelloWorld_Setup.msi

    The Windows Installer package for the HelloWorld project. We can change its name to something more conventional by modifying the Output file name property in the setup project's Property Pages dialog.

    Setup.exe

    The setup bootstrapper file, which reads Setup.ini to determine the required installation tasks. This is the file that is run to start the installation. Setup.exe will check for the required .NET runtime and prompt users to download it if it is not found on the target PC.

    Setup.ini

    The initialization file used by Setup.exe to perform the required operations. In a simple setup project like this, Visual Studio .NET creates a reference to the MSI file containing the application's Windows Installer package along with a reference to the required .NET Framework runtime. In more complex installations, it may contain other application-specific information.


    To distribute an application, we usually should include all three of these files in our installation package. The user can run Setup.exe, which checks whether the target machine has the correct version of the .NET Framework runtime installed. If not, it will prompt the user to download the runtime from Microsoft's website and install it. Once it is satisfied that the required runtime is installed, it then invokes HelloWorld_Setup.msi to install the HelloWorld program.

    If you are certain that your users will have the correct version of the CLR, such as in a controlled corporate environment, you can get away with distributing only the application installation .msi file (such as HelloWorld_Setup.msi). In such case, you can change your setup project's Bootstrapper property so that it does not create any bootstrapper files.
    Tuesday, August 22, 2006 8:33 PM

All replies

  • Hi Blue,

    Normally you give the link to publish.htm file since he list the program pre-requisite as well.

    Thanks.

    Monday, August 21, 2006 6:37 PM
  • This reply made no sense to me.  I have the same question as the original poster.  Could someone please reply with a good clear answer to the following:

    1. What is the difference between the exe and the msi that is produced when you build a deployment project?

    2.  Which one should be given to the user - the exe or the msi (choose one)?
    Tuesday, August 22, 2006 8:02 PM
  • While trying to find an answer to my other question I came across this excerpt which explains the difference between the msi and the exe.  Hope this helps!

    File Name

    Description

    HelloWorld_Setup.msi

    The Windows Installer package for the HelloWorld project. We can change its name to something more conventional by modifying the Output file name property in the setup project's Property Pages dialog.

    Setup.exe

    The setup bootstrapper file, which reads Setup.ini to determine the required installation tasks. This is the file that is run to start the installation. Setup.exe will check for the required .NET runtime and prompt users to download it if it is not found on the target PC.

    Setup.ini

    The initialization file used by Setup.exe to perform the required operations. In a simple setup project like this, Visual Studio .NET creates a reference to the MSI file containing the application's Windows Installer package along with a reference to the required .NET Framework runtime. In more complex installations, it may contain other application-specific information.


    To distribute an application, we usually should include all three of these files in our installation package. The user can run Setup.exe, which checks whether the target machine has the correct version of the .NET Framework runtime installed. If not, it will prompt the user to download the runtime from Microsoft's website and install it. Once it is satisfied that the required runtime is installed, it then invokes HelloWorld_Setup.msi to install the HelloWorld program.

    If you are certain that your users will have the correct version of the CLR, such as in a controlled corporate environment, you can get away with distributing only the application installation .msi file (such as HelloWorld_Setup.msi). In such case, you can change your setup project's Bootstrapper property so that it does not create any bootstrapper files.
    Tuesday, August 22, 2006 8:33 PM
  • Is there anyway to end up with a single file executable that I can easily distribute? Having both a setup.exe and an MSI file is problematic.

     

    Wednesday, October 15, 2008 2:46 PM
  •  
    John81 said:

    Is there anyway to end up with a single file executable that I can easily distribute? Having both a setup.exe and an MSI file is problematic.

     



    I don't know how to do it exactly. To me I distribute the setup software via rar or zip file.
    I heard that IExpress can make bunch of files all in one. You can check it out:)

    Best regards:)
    • Proposed as answer by Douce Deux Thursday, January 3, 2013 12:12 AM
    • Unproposed as answer by Douce Deux Thursday, January 3, 2013 12:12 AM
    Wednesday, January 21, 2009 6:52 AM