2014-07-14 4 views
2

J'ai une application WPF et je crée un déploiement ClickOnce à partir de mon serveur d'intégration continue (TeamCity) avec une commande MSBuild.Création d'applications ClickOnce à déployer

Ensuite, je voudrais donner les fichiers de déploiement à d'autres, afin qu'ils puissent modifier l'URL dans le fichier .application par leur propre adresse de serveur où ils veulent héberger les fichiers.

Le problème est que le fichier .application ne peut pas être simplement modifié comme ceci. Il doit être résigné ...

Existe-t-il un moyen simple de faire ce dont j'ai besoin sans démissionner du fichier .application?

J'ai trouvé this link et this tutorial mais je n'utilise pas Mage.exe pour mon déploiement. Et que dois-je faire après la commande MSBuild de déploiement pour faire ce dont j'ai besoin?

Mes paramètres:

/P:Configuration=Release /P:Platform="x86" /P:DeployTarget="Publish" /P:SupportUrl="http://www.company.com" /P:ErrorReportUrl="http://www.company.com" /P:PublisherName="company" /P:ProductName="Product name" /P:TrustUrlParameters="true" /P:UpdateMode="Foreground"/P:PublishUrl="http://localhost/Installer/" /P:UseManifestForTrust="true" /P:MapFileExtensions="true" /P:PublishDir="../../Installer/" /P:ApplicationVersion=%Version% 

L'application doit pouvoir être mis à jour.

+1

Le didacticiel étape par étape l'explique correctement. Vous signez le manifeste d'application, mais pas le manifeste de déploiement. Le client change l'URL et signe ensuite avec 'mage.exe -Sign WindowsFormsApp1.application -CertFile MyCert.pfx' –

+0

Ok, ça n'a pas fonctionné au début, en utilisant MageUI.exe, j'ai dû resélectionner le fichier .manifest avant de sauvegarder la modification sur le fichier .application, je ne sais pas pourquoi ... Donc il n'y a absolument aucun moyen de modifier l'URL sans démissionner du fichier .application, non? Merci pour la réponse. – Gab

+0

Et quand j'installe l'application, l'éditeur est mis à "Publisher inconnu", il ne prend pas mon certificat. Et si j'ouvre le fichier .manifest avec MageUI.exe, "Utiliser le manifeste d'application pour les informations de confiance" n'est pas vérifié. (Mais j'ai utilisé "/ P: UseManifestForTrust =" true ") – Gab

Répondre

1

Vous pouvez supprimer l'élément deploymentProvider; Cela vous permet de déployer une ClickOnce signée à partir de plusieurs emplacements, à savoir plusieurs environnements ou plusieurs organisations dans votre cas.

http://msdn.microsoft.com/en-us/library/bb384243.aspx

A partir du .NET Framework 3.5, vous ne disposez plus de spécifier un deploymentProvider dans votre manifeste de déploiement afin de déployer une application ClickOnce pour les deux l'utilisation en ligne et hors ligne. Cela prend en charge le scénario dans lequel vous devez empaqueter et signer vous-même le déploiement, mais autoriser d'autres entreprises à déployer l'application sur leurs réseaux.

+0

Thx, mais où va-t-il vérifier la mise à jour? Et comment puis-je le supprimer en modifiant ma commande MsBuild? J'ai essayé de supprimer le paramètre"/P: PublishUrl " il a remplacé le fournisseur de déploiement par un chemin local ... – Gab

+0

@Gab il devrait vérifier les mises à jour du même endroit où il a été installé Je ne sais pas si vous pouvez le supprimer avec la propriété MSBuild, je le faisais en démissionnant après la transformation de config, mais j'ai écrit une tâche personnalisée et l'ai fait par programmation –

+0

@Gab Je pense que cela pourrait être 'PublishUrl', ouvrez votre fichier .csproj dans le bloc-notes et vérifiez la description à http://msdn.microsoft.com/fr us/library/ms165431.aspx –

Questions connexes