Question

Je travaille pour une entreprise qui produit un produit commercial et nous essayons actuellement de fournir une solution qui permettra à certains de nos clients plus importants de distribuer le côté client de notre application via ClickOnce.

L'intention est que nos clients déploient l'installation de ClickOnce sur un partage réseau, puis envoient un lien vers le manifeste de l'application aux clients par courrier électronique ou par un autre moyen.

Nous avons réussi à intégrer la production de l'installation ClickOnce dans notre version automatisée (à l'aide des outils de ligne de commande Mage). Nous pouvons ensuite exécuter avec succès l'installation réelle sur un ordinateur client. Toutefois, après l’installation et le lancement, notre application lève une exception SecurityException au moment de l’exécution, car elle n’a pas accès à FileIOPermission. Notre application nécessite des autorisations FullTrust, mais il semble que si l'emplacement CodeBase de l'assembly en cours d'exécution est un partage réseau, seules les autorisations LocalIntranet vous sont accordées (sans l'inclusion de FileIOPermission).

Il y a un article ici qui semble indiquer qu'il s'agit d'un problème assez courant: http://blogs.msdn.com/shawnfa/archive/ 2004/12/30 / 344554.aspx

Une solution de contournement est fournie dans cet article à l'aide de l'outil CasPol, mais nous devrions l'exécuter sur chaque ordinateur client de l'environnement de déploiement. Ce n’est pas vraiment un problème en soi, c’est plus le fait que vous ayez besoin de droits d’administrateur sur la machine cliente pour effectuer ce que vous faites avec l’outil CasPol, et la majorité des clients de notre L’environnement du client n’a pas ces privilèges.

Un article a également été publié sur le même blog, ce qui semble impliquer que la nécessité d'exécuter le correctif CasPol a été atténuée avec la publication de .NET 3.5 SP1: http: //blogs.msdn. com / shawnfa / archive / 2008/05/12 / fulltrust-on-the-localintranet.aspx

Cependant, j'ai modifié notre application pour cibler spécifiquement la version SP1 du framework, comme indiqué dans cet article: http://msdn.microsoft.com/en-us/library/bb398202 .aspx #

Après cela, nous avons toujours rencontré la même SecurityException. J'ai donc ensuite appliqué certains paramètres SP1 ClickOnce spécifiques, comme indiqué dans l'article, mais toujours sans joie. Si je lance l’application directement à partir du partage réseau de publication auquel j’ai obtenu les autorisations, il semble que ce n’est que dans le contexte de ClickOnce que ces autorisations nous soient refusées.

Quelqu'un d'autre a-t-il rencontré des problèmes similaires? J'aurais pensé que s'il existait un problème dans la version SP1 du framework en ce qui concerne ces autorisations, quelqu'un d'autre l'aurait remarqué avant nous, car nous n'avions même pas encore fourni de solution ClickOnce.

Était-ce utile?

La solution

Je pense avoir rencontré un problème similaire sur .NET 4.0 avec une exception de sécurité pendant le déjeuner. La solution que j'ai trouvée consistait à signer numériquement le manifeste avec un certificat approuvé (et non par défaut, un studio visuel génère pour votre projet).

C’est un "bogue" connu. (ou de par leur conception) sur les manifestes déployés par ClickOnce.

Votre projet est-il signé?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top