2011-10-21 18 views
8

Tengo un proyecto de instalador MSI que instala un servicio de Windows..NET MSI Instalar proyecto - Sobrescribir la versión anterior

Mi método de numeración de versiones se describe mejor por este post: What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion?

No estoy cambiando la versión de mi proyecto de instalar como que no está cambiando, y he tenido demasiados problemas al hacer eso.

Ya he instalado mi servicio con las siguientes versiones de montaje

[assembly: AssemblyVersion("4.3")] 
[assembly: AssemblyFileVersion("4.3.0.0")] 

simplemente he construido un instalador MSI a esta versión:

[assembly: AssemblyVersion("4.3")] 
[assembly: AssemblyFileVersion("4.3.1.0")] 

Cuando ejecuto el MSI me dice que necesito para desinstalar la versión anterior.

¿Cómo puedo evitar esto? Lo que en última instancia, me gustaría hacer es:

  1. Instalar un MSI
  2. instalar (re: actualizar a) otra versión que sobrescribe la versión anterior (pronto o sin preguntar) a. No quiero tener que desinstalar antes de instalar una actualización.

Mis propiedades del proyecto de instalación son:

RemovePreviousVersions - True

InstallAllUsers - True

DetectNewerInstalledVersion - Falsos

Version - 4.3.0

Lo que he intentado:

  • Actualice la versión de montaje del proyecto. Sin embargo, esto crea múltiples versiones de los mismos productos en Agregar Eliminar Programas. No quiero Quiero servicios de Windows
  • Cambie la versión # en el proyecto del instalador. Pero esto crea muchos errores al intentar instalar cualquier versión del MSI. ¡Incluso recibí advertencias de que estaba instalando en una unidad de red! (Guau).

¡Cualquier ayuda sería rockin!

Gracias.

+0

Siempre estoy buscando un cambio en la versión de un proyecto de instalador, manteniendo el código de actualización y teniendo que desinstalarlo manualmente. Eso es lo mejor que he logrado hasta ahora, comenzando con un conjunto de requisitos similares a los tuyos. –

Respuesta

5

en las propiedades del proyecto de instalación de la configuración, necesita incrementar la propiedad "Versión" para cada versión, manteniendo el mismo Código de actualización.

Cuando incremente la versión, le preguntará si desea cambiar el Código del producto, responda "Sí".

También debe tener las propiedades para eliminar la versión anterior y detectar nuevas versiones establecidas en verdadero.

+0

Gracias, hombre, eso pareció funcionar. –

+0

Mantener el mismo código de actualización parecería estar en contraste con la selección "Sí" cuando se le solicite cambiar el Código del producto. ¿Es esto una contradicción? – sweetfa

Cuestiones relacionadas