2010-08-04 14 views
7

J'ai donc développé mon application en C#. Je suis prêt à le déployer. Je veux faire en sorte que les utilisateurs le lancent toujours depuis mon site web (afin qu'ils reçoivent toujours des mises à jour, pas d'installation, etc.).C# Déploiement de mon application - clickonce depuis le web seulement

Est-ce que ClickOnce est la bonne façon de procéder?

J'ai essayé de déployer ClickOnce sur mon serveur et quelques choses sauter à moi:

1) L'utilisateur a la possibilité d'exécuter un programme d'installation ou de lancer le fichier .Application - quelle est la différence? Ne peut-il pas le détecter par lui-même?

2) Lorsque j'essaie de "lancer" l'application, elle demande de la télécharger sur mon ordinateur. De toute façon lancer le fichier directement depuis le navigateur?

3) Après avoir téléchargé et exécuté le fichier .application, j'obtiens une erreur avec le message suivant: "Le déploiement et l'application n'ont pas de zones de sécurité correspondantes."

Répondre

9

Oui, ClickOnce répond parfaitement à vos besoins.

  1. Le setup.exe, ou « bootstrapper » comme on l'appelle, est utilisé pour installer des conditions préalables telles que le .NET Framework et Microsoft Installer, car il est le framework .NET qui contient le moteur d'exécution ClickOnce, qui est nécessaire pour installez votre application. Le programme d'amorçage ne doit être utilisé qu'une seule fois et uniquement sur les ordinateurs ne disposant pas de ces prérequis, après que seul le fichier .application, appelé «manifeste de déploiement», est utilisé pour les mises à jour. Lorsque vous publiez à l'aide de ClickOnce, un fichier Publish.htm est créé. Il contient du code JavaScript qui détecte si les prérequis de l'utilisateur sont installés. Si l'utilisateur ne le fait pas, il présente un bouton qui lie à setup.exe, sinon il présente un bouton qui lie directement au fichier .application. Vous pouvez utiliser cette page (ou en créer une sur la base de celle-ci) pour offrir l'expérience d'installation la plus courte possible à vos utilisateurs.

  2. Soit le .NET Framework est pas installé sur l'ordinateur du client (dans ce cas, utilisez le programme d'amorçage), ou votre serveur web n'est pas configuré correctement, et ainsi ne pas associer l'extension .application avec le type de MIME application/x-ms-application . Créez cette association pour résoudre le problème. Je recommande également d'ajouter des en-têtes http pour désactiver le cache sur le manifeste de déploiement, sinon le navigateur de l'utilisateur peut le mettre en cache et entraîner des mises à jour manquantes pour l'utilisateur. Vous ne pouvez pas télécharger et exécuter localement le fichier manifeste de déploiement pour une installation ClickOnce publiée sur un site Web, car ClickOnce fournit un niveau de confiance plus élevé à l'installation locale (par exemple, depuis l'ordinateur local ou un partage réseau), mais le manifeste d'application pointe vers une source d'installation sur le Web, qui a un niveau de confiance inférieur et échoue ainsi. Une fois que vous aurez résolu le problème 2, ce problème sera également résolu.

+0

Excellentes réponses. Quelques questions supplémentaires: 1) Dois-je lier les utilisateurs au fichier d'installation ou au fichier .application? 2) Il se lance correctement dans IE mais pas dans Firefox. Dans Firefox, il demande de télécharger le fichier. Est-ce un problème de configuration de type MIME? Des conseils sur ce sujet (serveur Linux/Apache) –

+0

@whydna: Merci! 1. J'ai édité la réponse pour parler de 'Publish.htm', 2. L'installation d'une application ClickOnce de Firefox nécessite un plug-in, tel que celui fourni par Microsoft (http://windowsclient.net/wpf/wpf35 /wpf-deploying-clickonce-ie-firefox.aspx) avec le .NET Framework 3.5 ** SP1 **, ou un plug-in tiers, tel que [FFClickOnce] (https://addons.mozilla.org/en -US/firefox/addon/1608 /). –

+0

Alors, quelles sont mes options avec Firefox/Chrome/tout autre navigateur? En outre, il ne semble pas détecter si l'utilisateur a exécuté la configuration comme vous l'avez mentionné dans votre message. Il présente simplement 2 liens et demande à l'utilisateur de le comprendre. Par exemple: http://www.kirupafx.com/clickonce/publish.htm –

Questions connexes