Originally posted by: Dhaval00
With regards to Mark's post above, the Express editions don't include the Setup project-type. Even if you have the full version of Visual Studio, the Setup project-type is the crappiest of them all - too many dependencies, can't version properly, and too tedious and convoluted (been there, done that).
You need to look at WIX - Windows Installer XML - MS's first open-source, XML-based, lean, mean, MSI-making machine. You can do crap loads of things with it: install files, version your installers, create custom GUIs + actions, control Windows services, create Website entries in IIS, create app pools in IIS, create Windows users and set permissions on folders, execute SQL scripts, install COM+ entries, install to the GAC, and launch custom actions. To give you an idea of scalability, the Microsoft Office and SQL Server installers are all created using WIX. The tutorial below even has a custom GUI which will allow you to control what gets installed (things like a Typical or a Custom setup):
http://www.tramontana.co.hu/wix/
Best of all, it is free. If you have questions, join the community via Sourceforge... most newbie answers can be found in archives, so search before you ask. As a side note, the learning curve on this one is a bit steep, but in the end, it will all pay off when you'd have created your first MSI

.