2010-02-08 8 views

Respuesta

11
  1. En Visual Studio seleccione el proyecto de instalación en el Explorador de soluciones
  2. abrir la ventana Propiedades
    • no haga clic con el botón derecho en y seleccione propiedades.
    • seleccione Ver - Ventana Propiedades
  3. conjunto RemovePreviousVersions a cierto incremento
  4. la versión a un número más alto
  5. seleccione Sí en el cuadro de mensaje próxima

Si construido y desplegar esta nueva configuración, se eliminará una configuración con un número de versión anterior.

Importante: ¡el número de versión de configuración es completamente independiente del número de versión de su aplicación o ensamblado!

+0

¡Si tan solo eso funcionara para mí! ¿A qué te refieres con que "el número de versión de instalación es completamente independiente?" – JohnB

+0

@JohnB: Tal vez pasaste por alto el punto * selecciona tu proyecto de instalación * en el primer punto. Si seleccionaste el proyecto de configuración y miras en la ventana de propiedades encontrarás abajo en VersionNumber. Esto tiene que ser incrementado para cada versión construida que se publicará y este número es independiente del número de versión de su aplicación y/o ensamblajes. – Oliver

0

Windows Installer ha incorporado controles en sus archivos para asegurarse de que la versión sea más alta que la versión anterior de ese archivo. Si no es así, Windows Installer no lo sobrescribirá. Para más amplia información sobre cómo instalador de Windows se encarga de comprobación de versiones vistazo a este artículo de MSDN:

http://msdn.microsoft.com/en-us/library/aa368599%28VS.85%29.aspx

0

Tenemos que establecer la propiedad REINSTALLMODE de nuestro archivo msi en amus.

A continuación se presenta el enlace para saber más sobre el significado de 'amus' http://msdn.microsoft.com/en-us/library/aa371182%28VS.85%29.aspx

Hay dos maneras de hacerlo.

  1. Mediante el uso de msiexec.exe que viene con el SDK .NET (si tiene VS 2005 o VS 2008 vendrá con él, simplemente navegar a símbolo del sistema de Visual Studio y encontrará allí)

una vez que encuentre msiexec.exe solo escriba el siguiente comando para establecer la propiedad REINSTALLMODE en amus para su instalador.

msiexec.exe/i foo.msi REINSTALLMODE = amus

10

(respuesta de Oliver es correcta, pero quería agregar imágenes y algunos detalles más)

Seleccione el proyecto de instalación en su solución , a continuación, abra las panel Propiedades (la pestaña junto a la caja de herramientas):

enter image description here

  • Asegúrese DetectNewerInstalledVersion i es verdad (es ser predeterminado)
  • Establecer InstallAllUsers a cierto
  • Establecer RemovePreviousVersions a cierto
  • actualizar el número de Version y pulsa Enter
  • Después de presionar enter, Visual Studio le preguntará si desea generar una nuevo GUID para ProductCode, haga clic en Sí

Además, es necesario actualizar los números de versión para cada proyecto en susolución , ya que el instalador sólo reemplazará DLL si su número de versión se ha incrementado:

  • abierto AssemblyInfo.cs de cada proyecto y actualizar los AssemblyVersion y AssemblyFileVersion números

o una manera mejor :

  • Retire AssemblyVersion y AssemblyFileVersion líneas de cada AssemblyInfo.cs del proyecto
  • Enlace a un VersionInfo.cs de archivo de la solución con esas 2 líneas
  • Paso a paso para lo anterior: The Right Way To Version Your Assemblies

Haga clic derecho en el proyecto de configuración y seleccione Propiedades (un Propiedades diferente diálogo):

  • Conjunto Windows Installer 4.5 como Requisito en lugar del predeterminado de Visual Studio de Windows Installer 3,1

No estoy seguro de si todos estos pasos son necesarios, y hay pueden ser otras formas de configurar esto, pero los pasos anteriores funcionan para mí.

Cuestiones relacionadas