2010-11-05 13 views
9

Tengo un proyecto de instalación/instalación para mi aplicación y genera ciertos archivos (* .dll, * .dat) en la carpeta de la aplicación.Proyecto de instalación de Visual Studio condicional si existe archivo

Me gustaría configurar una condición para verificar si un archivo existe actualmente o no. Si no es así, escríbalo, pero si lo hace, no lo instale desde el paquete. ¿Es posible?

El archivo se llama "database.dat" y bajo Propiedades, veo un atributo "Condición", pero no estoy familiarizado con qué poner ahí.

Cualquier entrada es muy apreciada. Gracias por adelantado.

Editar:

Por lo que ya existiría es que de una instalación anterior no habría datos de un conjunto de datos/tabla de datos que no queremos sobrescribir.

Respuesta

23

Para instalar sólo un archivo, si no existe ya, siga estos pasos:

  1. Añadir una entrada "Buscar equipo de destino" en el "Condiciones de inicio" de tu proyecto de instalación.

  2. complete la propiedad FileName y la propiedad Folder.

  3. la propiedad Property debe ser una constante que puede recordar, como "MY_AWESOME_FILE_EXISTS"
  4. en la vista "Sistema de archivos" de su proyecto, ubique el componente de instalar y añadir esto a la propiedad Condition "not MY_AWESOME_FILE_EXISTS"

Eso es todo.

fuentes (ya que sólo tenía que resolver esto por mí mismo):

+0

Eres una persona hermosa. Gracias por esto, mi mejor amigo. –

+0

@ACK_stoverflow, gracias por hacer mi día :) Esta es la primera pieza de internet que leo hoy. ¡Estoy sonriendo a lo grande ahora mismo! –

+0

En cualquier momento, bub;) –

0

El atributo de condición tiene justo lo que necesita: un existe -condición. El ejemplo simplificado es:

<Copy Condition="!Exists($(DestPath)database.dat)" 
     SourceFiles="$(SrcPath)database.dat" 
     DestinationFolder="$(DestPath)"/> 

Véase también this topic.

+1

¿Cómo se vería esto en la propiedad Condición de un archivo en el Proyecto de instalación de Visual Studio? – CyberMonk

0

En el proyecto de instalación, derecha haga clic en el archivo que desea mantener en la carpeta de instalación, seleccione Prope rties y establecer Permanente a verdadero.

+0

Esto no resuelve el problema. Si marca como permanente y desinstala, luego cambie el archivo e instálelo de nuevo, se sobrescribirá. – Guge

Cuestiones relacionadas