Il n'y a pas de problème majeur avec ClickOnce dont vous avez besoin à se soucier, il fait son travail très bien. Cependant, vous rencontrerez un certain nombre de défis pour le faire fonctionner en douceur pour plusieurs clients.
Par « client » Je suppose que vous voulez dire « client »? Et chaque client a n utilisateurs qui chaque installation de votre application?
Vous et MAGE aurez besoin pour devenir amis. Pourquoi? Idéalement, vous voulez créer un build publiée (qui a passé tous les tests sur votre machine de construction et a passé QA), à partir de cette version que vous souhaitez créer un déploiement distinct pour chaque client. Pour ce faire, vous devez au minimum modifier les valeurs InstallUrl et UpdateUrl MsBuild, car il s'agit d'un répertoire Web différent pour chaque client.
Dès que vous apportez ces modifications ClickOnce n'installera plus l'application car un ou plusieurs des fichiers ont été modifiés. À ce stade, vous pouvez utiliser MAGE pour régénérer le manifeste d'application (par exemple myApp.exe.manifest) et alors le manifeste de déploiement (par exemple myApp.application). Un problème que j'ai trouvé en faisant cela était que vous deviez changer le répertoire "Application Files" en "ApplicationFiles". Nous sommes en train de faire exactement cela, prenez un build publié puis créez quelques douzaines de 'déploiements' de cette build pour des sites séparés, chacun ayant des informations de configuration différentes telles que les URL de service web.
Il faut un peu de temps pour le faire fonctionner correctement et ensuite plus de temps pour l'automatiser ... si je devais dire un «must», il faudrait s'assurer que vous automatisez le processus avec des fichiers batch ou un application de ligne de commande ... peu importe comment vous l'automatisez juste assurez-vous que c'est.
Bonne chance!
L'application doit-elle absolument être signée? Que se passe-t-il si je ne signe pas l'application? – Yoenhofen
@Yoenhofen: Ce n'est pas l'application qui doit être signée, c'est le package ClickOnce lui-même. Cela doit être signé, voir ici: http://msdn.microsoft.com/en-us/library/ms172240(VS.80).aspx. Si vous n'avez pas de certificat "réel", il génère un certificat auto-signé pour vous. – Aaronaught
Vous n'avez pas à signer le paquet, mais c'est un énorme trou de sécurité si vous ne le faites pas. Cela permet essentiellement à C/O de s'assurer que personne n'a altéré ou déplacé votre paquet de déploiement. Un autre commentaire - ils ont corrigé le problème de cert dans .NET 3.5 SP-1 et .NET 2.0 SP-1 si vous utilisez des mises à jour automatiques. Si vous utilisez programmatique, vous aurez toujours un problème. Ils ont tout corrigé dans .NET 4.0. Voici un article expliquant: http://msdn.microsoft.com/en-us/library/ff369721.aspx – RobinDotNet