Atualizar um serviço do Windows sem desinstalar

Atualmente, tenho que desinstalar a versão antiga do meu serviço antes de instalar a nova versão. Tenho certeza de que isso tem algo a ver com não ser inteligente o suficiente para atualizar ou remover as entradas de serviço antigas antes de adicionar as novas.

Existe uma maneira de o instalador pular o registro do serviço, se ele já existir? (Posso assumir que a pasta de instalação e o nome do serviço não mudam entre as versões.)

Além disso, existe uma maneira de parar automaticamente o serviço ao desinstalar?

Editar:

Estou usando pacotes MSI e o projeto de instalação do Visual Studio.

questionAnswers(6)

yourAnswerToTheQuestion