Reputation: 972
What is the difference between running .exe file from the result of Release/Debug project (located in /bin/release/ or /bin/debug/ folder by default) and creating an installer for our application?
Upvotes: 0
Views: 761
Reputation: 20790
An installer is what people use to deploy applications on other machines, that's the point, as Jesse explained. There are two other points that are worth mentioning:
Many apps have dependencies on things like a .NET Runtime, C++ runtimes, Crystal Reports runtimes and any other number of dependencies. Most install tools have a way to install these before installing your setup.
With reference to your http environment variables, there is a design split between what the app should do and what the install should do. As well as copying files to the client system, activities such as installing services, putting files in the GAC, doing COM registration, creating environment variables, registry variables, and so on can all be done with (for example) an MSI-based installer. This means they can be removed if the install fails or the app is uninstalled. So if you have an app that uses code to do any of those things it's not well-designed for an MSI install, although it might be fine as a standalone single program with something like a /uninstall command line.
Maintenance of an app with many files tends to be easier with a proper install tool that knows how to do partial updates (patches etc), and also upgrades without the customer manually deleting old files and registry entries!
Setups can be divided into features. Not every client wants every feature, so they can choose which parts of a larger app they want to install.
Upvotes: 1
Reputation: 114857
When you build your project Visual Studio generates the binaries that run whatever you've coded. But that binary just sits there. Of course you can zip them up and send them to whomever want to use them, but they'd need to manually extract the files, place them in a location that makes sense and add a start-menu item.
Those last actions, placing the binaries in the correct locations, securely setting up the registry and creating application shortcuts, are generally the task performed by an installer. There are multiple installer technologies you can use. Some of them integrete into Visual Studio, others run as a stand-alone product, gathering the binaries after you've completed the build process. For options see:
Upvotes: 0