2009-05-17 6 views
2

J'essaye de créer un projet "d'installation et de déploiement" très basique utilisant Visual Studio. Ce que je voudrais, c'est la possibilité de choisir composants pour installer. Disons que chaque composant consiste en la sortie principale d'une seule bibliothèque de classes (c'est-à-dire que chaque composant est en fait un seul module ou un ensemble compilé).Comment ajouter des composants facultatifs aux projets d'installation et de déploiement de Visual Studio?

Je n'ai pas vu une telle option dans l'ensemble standard de boîtes de dialogue disponibles. Mais j'ai vu qu'avec un peu d'effort nous pouvons créer en quelque sorte custom dialogs.

  • Comment puis-je détecter quel composant programme sont disponibles dans le cadre du projet d'installation et de déploiement? (à savoir, je voudrais que le projet de travailler même lors de l'ajout ou la suppression d'un composant de l'installation)

  • Comment puis-je étendre ou de créer une boîte de dialogue personnalisée qui affiche la liste des composants disponibles? Comment puis-je détecter les composants que l'utilisateur final a choisi d'installer?

Je suis un peu familier avec Orca, l'outil pour manipuler des fichiers .msi ainsi que des applications d'installation Full Blown comme InstallShield, mais je voudrais faire cela en utilisant uniquement de Visual Studio brut autre ouvert disponible outils source.

Merci pour votre aide.

Répondre

1

VDP (Visual Studio Déploiement du projet) est pas fait pour ce genre de choses (lire: utiliser Wix à la place):

  1. (je devine que vous voulez que cela lors de l'exécution) Vous pouvez utiliser MsiQueryComponentState mais Pour cela, vous devrez passer le composant GUID que vous ne contrôlez pas dans VDP.
  2. Cela sort de la boîte avec tout autre que VDP.
  3. (Je suppose que vous voulez cela au moment de l'installation ...) Vous pouvez utiliser Condition pour exécuter une action personnalisée basée sur Component Install Etat, dans VDP vous n'avez pas le contrôle sur l'ID du composant (pas à confondre avec le composant guid) qui est nécessaire pour préformer l'état du composant.
+0

Eh bien, oui, j'étais plutôt attendu cette réponse. Aucun mal à demander de toute façon ... Merci. –

Questions connexes