El proyecto de implementación en VS no sobrescribe los archivos. Lo que ocurre es que, como tiene RemovePreviousVersions establecido en true, cuando cambia la versión de su archivo de programa y el GUID de ProductCode del proyecto de configuración, primero desinstala la versión anterior y luego realiza una instalación limpia de la nueva versión.
Para asegurarse de que algunos archivos no se sobreescriban, generalmente los excluyo de los archivos de Contenido o de Salida principal (donde se encuentren) y luego los agrego por separado al proyecto de configuración. Al hacer esto, puede establecer propiedades individuales para esos archivos. La propiedad que está buscando se llama Permanent "que si se establece en verdadero nunca desinstalará el archivo en cuestión, y por lo tanto nunca lo sobreescribirá con una nueva versión. El único inconveniente con esto es que cuando desinstala el producto, los archivos permanentes no conseguirá removidos de sus lugares de destino, pero en mi caso (por lo general los archivos locales DB), que es una buena cosa;!.)
Saludos
[editar] lo anterior es cierto para VS 2008 SP1 Haven' Lo intenté en otras versiones, así que con suerte está usando la misma versión VS o funciona para la versión que usa.
[edit2] Ah, también podría usar la propiedad "Condición" para lograr algo similar Arkansas. Si lo hace, asegúrese de que "Transitivo" esté configurado en True para que la Condición siempre se evalúe. No lo he intentado con las Condiciones, pero esa es otra opción que podrías mirar. Aparte de estos 2, creo que es más o menos para los proyectos de implementación de VS.
¡Genial, gracias! Esto debe marcarse como respuesta. –
Las reglas para el reemplazo de archivos son [aquí] (http://msdn.microsoft.com/en-us/library/aa370531(v=VS.85).aspx). – CyberMonk
Usando VS2010 SP1. No funciona para mí ... ¡El archivo se reemplaza aunque Permanet esté configurado como verdadero! Se reemplaza cuando la fecha/hora del archivo en el disco es anterior a la fecha de creación del paquete. En VS2010 no SP1, se reemplazó cuando la fecha del archivo en el disco era más antigua que la fecha del archivo utilizado para crear el paquete. Configurar la hora de fecha del archivo fuente al 01/01/2001 me resolvió un montón de problemas, pero ya no funciona. –