2010-12-14 4 views
1

J'ai un service Windows que j'ai créé avec VS2008. Le service est installé sur la machine cible via MSI, que j'ai créé à l'aide d'un projet de configuration et de déploiement dans Visual Studio. Lorsque le fichier MSI est exécuté, il copie les fichiers binaires requis dans le répertoire cible et installe le service dans le gestionnaire de contrôle de service.Projet de déploiement Visual Studio: Autoriser l'utilisateur à sélectionner le fichier de configuration lors de l'exécution

J'ai les projets mis en place afin qu'ils créent un répertoire "Configs" dans le répertoire cible. Il y a un fichier de configuration pour chaque type d'environnement (Dev, QA, Prod).

En l'état actuel, une fois l'installation terminée, l'utilisateur doit accéder au répertoire Configs et copier la configuration souhaitée dans le répertoire cible de base. C'est une source de confusion et quelques erreurs.

je voudrais le fichier MSI pour inviter l'utilisateur pour le

Répondre

2

j'ai accompli les mêmes fonctionnalités de besoin dans les projets d'installation pour mes déploiements de services avec succès. Tout d'abord, vous devrez ajouter votre répertoire "Configs" sous le dossier d'application dans "Système de fichiers" de votre projet d'installation.

Ensuite, affichez le concepteur "Interface utilisateur". Ici, vous devrez ajouter une nouvelle boîte de dialogue. Ce que j'ai fait a été d'ajouter une boîte de dialogue avec deux boutons radio (choix en cours de développement ou de production). J'ai placé le mien après la boîte de dialogue "Bienvenue" dans la séquence du menu de configuration.

Sélectionnez votre nouvelle boîte de dialogue et ajoutez ce dont vous avez besoin dans la fenêtre Propriétés. Dans le texte de mon corps, je dis à l'utilisateur de "Sélectionner une option de déploiement". De là, vous définissez des valeurs pour chaque choix. Ma propriété Button1Label se lit comme "Développement" avec un Button1Value de 1. Le bouton 2 est "Production" avec une valeur de 2. J'ai nommé le ButtonProperty "DEPLOY".

Enfin, ajoutez chaque fichier de configuration au système de fichiers sous "Dossier d'application" -> "Configs". L'action clé consiste ici à lier chaque fichier de configuration à une option de déploiement. Pour un fichier de configuration de développement, il est Condition la propriété serait:

DEPLOY=1 

Similairement la configuration de production Condition propriété serait:

DEPLOY=2 

Il est simple, mais il fait exactement ce que vous avez besoin de faire. Ce qui est difficile à faire avec les projets d'installation. Ils manquent de beaucoup de fonctionnalités.

+0

J'ai fini par faire quelque chose de très similaire juste au moment où vous avez posté cette solution. J'ai ajouté un bouton radio personnalisé ui, puis ajouté une action personnalisée que je lance sur l'installation. Il obtient la valeur du bouton radio sélectionné et copie les fichiers de configuration appropriés selon les besoins. Solution très similaire à la vôtre. Le mien semble être plus de travail, mais les deux le font. –

Questions connexes