2010-11-05 3 views
9

J'ai un projet de configuration/déploiement pour mon application et il affiche certains fichiers (* .dll, * .dat) dans le dossier d'application.Projet d'installation de Visual Studio conditionnel si le fichier existe

Je souhaite qu'une condition soit définie pour vérifier si un fichier existe actuellement ou non. Si ce n'est pas le cas, écrivez-le, mais si c'est le cas, ne l'installez pas à partir du paquet. C'est possible?

Le fichier s'appelle "database.dat" et dans les propriétés, je vois un attribut "Condition", mais je ne suis pas familier avec ce qu'il faut y mettre.

Toute entrée est grandement appréciée. Merci d'avance.

Edit:

Raison pour laquelle il existe déjà est que d'une installation précédente il y aurait des données à partir d'un DataSet/Tableau de données que nous ne voulons pas remplacer.

Répondre

23

Pour installer uniquement un fichier, si elle n'existe pas déjà, procédez comme suit:

  1. Ajouter une entrée « Rechercher machine cible » sous la « Conditions de lancement » vue dans votre projet d'installation. Remplissez la propriété FileName et la propriété Folder.

  2. la Property propriété doit être une constante, vous pouvez rappeler, comme « MY_AWESOME_FILE_EXISTS »
  3. dans la vue « File System » de votre projet, recherchez le composant à installer et à ajouter à la propriété Condition « not MY_AWESOME_FILE_EXISTS »

C'est tout.

Sources (depuis que je viens d'avoir à comprendre cela pour moi-même):

+0

Vous êtes une belle personne. Merci pour cela, mon ami le plus proche. –

+0

@ACK_stoverflow, merci d'avoir fait ma journée :) C'est le premier morceau d'internet que j'ai lu aujourd'hui. Je souris beaucoup maintenant! –

+0

À tout moment, bub;) –

0

L'attribut Condition a exactement ce dont vous avez besoin: Existe -condition. Exemple simplifié est:

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

Voir aussi this topic.

+1

À quoi cela ressemblerait-il dans la propriété Condition d'un fichier dans le projet d'installation de Visual Studio? – CyberMonk

0

Sur le projet d'installation, droite cliquez sur le fichier que vous souhaitez conserver dans le dossier d'installation, sélectionnez Prope rties et définissez Permanent à true.

+0

Cela ne résout pas le problème. Si vous marquez comme permanent et désinstallez, puis changez le fichier et installez à nouveau il sera écrasé. – Guge

Questions connexes