2009-10-30 17 views
2

Je pensais que si je n'utilisais rien d'autre qu'un simple graphique dans une fenêtre, je serais capable d'exécuter une application WPF autonome en Partial Trust (au moins sur Intranet). Mais malheureusement, même l'application Hello World la plus simple ne parvient pas à charger la fenêtre principale et se bloque si elle est exécutée avec une confiance partielle.Est-il possible d'exécuter une application WPF autonome (non XBAP) dans Partial Trust?

Quelqu'un peut-il nous éclairer sur les raisons pour lesquelles cela se produit et si cela est même théoriquement possible?

P.S. L'application de console la plus simple peut fonctionner en confiance partielle dans Intranet Zone, et Winforms peut fonctionner à la fois en Intranet et Internet (bien qu'il affiche un avertissement de sécurité en cours d'exécution dans Intranet Zone)

Répondre

2

Après avoir joué avec un peu plus, j'ai trouvé que mon problème était que j'ai essayé mon application pour fonctionner sous débogueur. Sans débogage, l'application WPF simple peut fonctionner correctement dans les zones Internet et intranet. Lors du débogage, l'application WPF requiert des autorisations supplémentaires sur l'ensemble par défaut de la zone. Ces autorisations sont:

  • Autoriser les appels aux assemblées non gérés (autorisation de sécurité) à la fois Intranet et Internet. Vous ne savez toujours pas pourquoi cela est différent de WinForms et de l'assemblage non géré dont il a besoin en mode débogage.
  • Toutes les fenêtres et tous les événements (autorisation d'interface utilisateur) dans la zone Internet.

Si ces deux autorisations sont définies, vous pouvez déboguer votre application WPF dans Trust partiel. N'oubliez pas de réinitialiser les permissions lors de la compilation d'une version!