Setup projects present a problem to people trying to learn about them that you find over and over in software: the Sudden Paradigm Shift.
A paradigm is the set of assumptions you have in your head about how something should be done. If you're a VB.NET programmer, you assume that you create some statement-by-statement procedural code, compile the code, and then run the resulting executable program.
Unfortunately, that isn't the way setup projects work.
I think Microsoft should do more to help people adjust their thinking in cases like this. The Microsoft gurus who write about topics like this have often worked for years to create these new systems and their thinking is so completely into their own new idea that they can't imagine how anyone could not 'get it'. News Flash for Microsoft: A lot of people don't 'get it'.
One of the main goals of this article is to help you take that big step up to the paradigm used for setup projects. They work great once you understand the new paradigm. And after that, the rest is mainly just more detail and more options. (Microsoft is doing a great job of giving us lots and lots of options to choose from!)
I've already introduced setup projects in the first article in this series: Install Your System with VB.NET 2.0. This article will repeat some of that, but in a much more detailed, step-by-step style with more illustrations. But you might want to go back and review the first article.
Keep in mind that in addition to ClickOnce and setup projects, you can deploy an application just by copying it to another computer, so long as the target computer has the .NET 2.0 runtime and you copy all the .dll files that your application uses.