2008-08-21 13 views
13

Notre équipe développe des applications distribuées distribuées. Nous utilisons ClickOnce pour le déploiement et nous en sommes très satisfaits.Quelle est la meilleure façon de créer des déploiements ClickOnce

Cependant, nous avons trouvé le point de douleur avec ClickOnce dans créant les déploiements. Nous disposons des environnements de développement/test/production standard et devons être en mesure de créer des déploiements pour chacun d'entre eux qui s'installent et se mettent à jour séparément les uns des autres. En outre, nous voulons contrôler quels sont les assemblages qui sont déployés. Ce n'est pas parce qu'une assemblée a été compilée que nous voulons la déployer.

Le premier choix évident pour la création de déploiements est Visual Studio. Cependant, VS ne répond pas vraiment aux problèmes énoncés. Le suivant en ligne est l'outil SDK, Mage. Mage fonctionne bien, mais la création de déploiements est plutôt fastidieuse et nous ne voulons pas que chaque développeur ait son certificat de signature de code et son mot de passe. Nous avons finalement lancé notre propre application de déploiement qui utilise la version en ligne de commande de Mage pour créer les fichiers manifestes de ClickOnce.

Je suis satisfait de notre solution actuelle, mais il semble qu'il y aurait une approche acceptée à l'échelle du secteur à ce problème. Y a-t-il?

Répondre

14

Je regarderais en utilisant msbuild. Il a construit en tasks pour gérer les déploiements de clickonce. J'ai inclus quelques références qui vous aideront à démarrer, si vous voulez suivre cette voie. C'est ce que j'utilise et je l'ai trouvé pour répondre à mes besoins. Avec un bon processus de construction en utilisant msbuild, vous devriez être en mesure d'accomplir écrasant les douleurs que vous avez ressenties.

Voici detailed post sur la façon dont la génération de manifestes ClickOnce fonctionne avec MsBuild.

+0

Salut Dale votre lien est mort avez-vous le titre que le poste était sous? – TombMedia

+0

@TombMedia Malheureusement, je ne recommanderais pas nécessairement d'utiliser ClickOnce aujourd'hui non plus. Si vous démarrez un nouveau départ, c'est-à-dire que vous n'utilisez pas déjà ClickOnce pour votre projet, vous pouvez regarder dans [Squirrel] (https://github.com/squirrel). –

+0

Je souhaite. Coincé dans la terre de l'héritage ici. Merci quand même. – TombMedia

5

J'ai utilisé nAnt pour exécuter la stratégie de génération globale, mais transmets les paramètres dans MSBuild pour compiler et créer le package de déploiement. En principe, nAnt appelle dans MSBuild pour chaque environnement dans lequel vous devez déployer et génère une sortie de déploiement distincte pour chacun. Vous vous retrouvez avec un dossier et tous les fichiers ClickOnce dont vous avez besoin pour chaque environnement, que vous pouvez simplement copier sur le serveur.

Nous avons également géré plusieurs environnements de production: nous disposions d'instances distinctes de notre application pour les États-Unis, le Canada et l'Europe, de sorte que chaque build finissait par créer neuf déploiements, trois chacun pour dev, qa et prod.

Questions connexes