Sometimes I don't do something because I figure it will be hard to do and I'll have problems. For that reason I've never written an installer with Visual Studio. I've just written batch files that copy the executables and all the other bits (this is kind of a shamefull admission, but never mind).
Last week I had to write an installer, so with some trepidation I fired it up Visual Studio and added a deployment project.
What a fool I have been. Writing installers is a dead doddle. Sooo easy. The only problem that I had was making a shortcut on the start menu, and that took around two minutes of looking round the knowledgebase. I now have a slick looking program that installs like a dream (and more importantly it uninstalls too).
I'm now considering making all the first year progammers on our course write an installer as part of their practical work. I think that how you actually put your program into the hands of your user is a very important part of development (even though I used to use batch files myself) and so I reckon this is a good idea.
And for anyone who has written a program but not an installer, I'd strongly advise you to have a go.