2010-06-28 3 views
11

Je dispose d'un projet d'installation Visual Studio et je souhaite que le programme d'installation crée un dossier spécifique uniquement si une case à cocher sur un formulaire 'Checkboxes (A)' que j'ai ajouté à l'interface utilisateur du projet est cochée. Le nom de la propriété pour la case à cocher est CHECKBOXA1 mais je n'ai aucune idée de ce qu'il faut mettre dans la propriété Condition du dossier afin qu'il ne soit créé que si la case est cochée.Comment spécifier les conditions du programme d'installation de Visual Studio?

Répondre

17

Dans la propriété « condition » pour votre dossier, placez les éléments suivants:

CHECKBOXA1 = 1

Cela fera en sorte que le dossier est installé uniquement si CHECKBOXA1 a été vérifié. OK, j'ai trouvé comment faire, mais c'est un peu foiré. Une autre de ces étranges bizarreries sur le programme d'installation de Visual Studio. Supposons que le dossier que nous voulons installer si CHECKBOXA1 est coché s'appelle 'Folder1', et nous allons mettre un exemple de fichier dans Folder1 appelé test.txt. D'abord, nous devons créer un dossier contenant qui n'apparaîtra jamais lors de l'installation, mais nous en avons besoin pour que le reste fonctionne. Dans la fenêtre de votre système de fichiers, créez un dossier (j'ai appelé le mien 'Container'). La propriété Condition doit être définie sur CHEKCBOXA1 = 1 comme nous en avons parlé, et la propriété DefaultLocation peut être définie à l'endroit voulu, par exemple [ProgramFilesFolder] \ MyApplication.
Maintenant, voici la partie importante. Assurez-vous que la propriété DefaultLocation du dossier 'Container' n'est PAS définie sur [ProgramFilesFolder] \ MyApplication \ Container, car cela créera TOUJOURS un dossier 'Container', quelle que soit la propriété Condition. OK, cela prend soin du dossier du conteneur. Si cela est fait correctement, lorsque vous installez votre application, vous ne verrez jamais le dossier Container.

Maintenant, dans le dossier Conteneur de la fenêtre Système de fichiers, créez le dossier réel souhaité, Dossier1 dans cet exemple. Définissez sa propriété Condition sur CHECKBOXA1 = 1, et assurez-vous également que tout contenu dans sa propriété Condition est également défini sur CHECKBOXA1 = 1. Maintenant, lorsque vous exécutez votre installation, Dossier1 n'apparaîtra que si CHECKBOXA1 est cochée.

Je ne comprends pas pourquoi le dossier Container est nécessaire pour que cela fonctionne correctement, mais cela fonctionne, donc je l'utilise.

+0

J'ai essayé ça. Cela ne fonctionne pas pour moi, le dossier est toujours créé. – SpaceghostAli

+0

Super ça marche !!! – SpaceghostAli

Questions connexes