What's Involved in Deployment?
In the days before Microsoft Windows, deployment wasn't so difficult. Many programs were nothing more than an MS-DOS executable file, with perhaps one or two supporting data and help files. That was it. Once you copied those files into some folder on the client workstation and updated the PATH environment variable, you were done.
Microsoft Windows applications (and large and complex MS-DOS programs) were not as easy to install. They often had these DLL file things hanging off of themfiles that had to be put in the proper places. And sometimes you didn't know what that proper place was, because a third-party vendor may have supplied the DLL without sufficient documentation. Then there were the help files, the configuration files, supporting data files, user-specific and workstation-specific changes to the system registry, shortcuts on the desktop and in the Start menu, uninstall settings and programs, two sets of forms (in triplicate) to the Library of Congress, online help files, the readme and license agreement files for the distribution CD, special fonts that may be required for the program, and on and on and on.
I don't think I even included half the files you need to deploy a full-bodied Windows application, but you can already see how involved it is. Fortunately, Visual Studio will share the burden with you in exchange for some simple configuration on your part.
The deployment features in Visual Studio provide you with the basic features you need to distribute standard desktop and web-based applications. If your deployment needs are complex, you can also purchase a third-party setup and deployment tool that includes advanced features such as scripting support.