¿Cómo puedo persuadir a un VS2005 msi para que actualice?

Tengo un servicio de Windows escrito en C # usando VS2005.

La instalación se realiza a través de un asistente que llama a msiexec para instalar el archivo msi también creado con VS2005.

Tengo problemas para generar un archivo msi que se actualizará de una versión del servicio a otra. El programa asistente maneja la detección de la versión instalada actualmente, detiene el servicio, presenta una línea de comandos apropiada para msiexec y luego reinicia el servicio.

El msi existente tiene una propiedad de versión 1.1.02, la nueva es 1.1.03. El producto y los códigos de actualización son idénticos.

Desinstalar 1.1.02 manualmente a través de programas de agregar / quitar funciona bien, al igual que instalar 1.1.03 en un sistema "limpio".

La actualización de 1.1.02 a 1.1.03 pasa por los movimientos, pero el resultado final es 1.1.02 instalado.

La línea de comando que utiliza el asistente para actualizar es:

msiexec / qb / i "MyProduct.msi" REINSTALL = "ALL" REINSTALLMODE = "vos"

¿Dónde me estoy yendo mal? Asumo que debo haber perdido algo bastante fundamental ...

a posición alternativa es informar a los clientes que necesitan desinstalar manualmente 1.1.02 antes de ejecutar el asistente para instalar 1.1.03, pero prefiero no tener que hacerlo.

Editado para agregar:

Cambiar el código del producto (como VS2005 también lo solicita) en realidad elimina la posibilidad de actualizar, ya que el instalador no le permitirá volver a instalar si ese código del producto no se ha instalado previamente.

Todo lo que le permitirá hacer es instalar (y luego recibirá el mensaje de tipo "servicio ya existe").

Respuestas a la pregunta(3)

Su respuesta a la pregunta