Melhor maneira de criar instalador de C #

Eu uso o Visual C # 2008 Express Edition. Gostaria de poder criar um instalador para um projeto que tenho. Eu posso fazer isso com a ferramenta Publicar, mas você tem pouco ou nenhum controle.

Existe uma maneira gratuita de fazer isso, ou preciso saltar para a versão completa do VS2008? Ou simplesmente não sei o que estou fazendo ao publicar?

Meu maior problema é que ele não permite que o usuário escolha onde instalar o programa, apenas o coloca em um local predefinido.

questionAnswers(3)

yourAnswerToTheQuestion