Announcement

Collapse
No announcement yet.

Zugriffsrechte, FileIOPermission, AllowPartiallyTrustedCallersAttribute

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriffsrechte, FileIOPermission, AllowPartiallyTrustedCallersAttribute

    Hi,

    ich habe eine C# Anwendung unter VS2005 erstellt die auf einem Terminalserver-Client laufen soll.

    Beim Start hatte ich die Fehlermeldung "...file: Request for the permission of type System.Security.Permissions.FileIOPermission ... (machine.config)" erhalten.

    Ich habe darauf hin der Anwendung und alle vier DLL's einen Strong Name verpaßt. Der Fehler war weg. Jetzt bekam ich die Meldung "That assembly does not allow partially trusted callers".

    Darauf hin habe ich gesucht und den Hinweis erhalten ich muss meine Assemblys das Attribut AllowPartiallyTrustedCallersAttribute mitgeben das habe dann in die AsseblyInfo.cs eingefügt.

    Jetzt bekomme ich wieder die erste Meldung vom Anfang "...FileIOPermission".

    Soweit ich weiß, steht das ".NET Framework 2.0 Configuration" Tool nur mit dem SDK zur Verfügung. Es kann doch aber nicht sein, dass ich für jeden Client auf dem die Anwendung laufen soll, (bei verschiedenen Terminal-Servern) ich erstmal SDK mit mehr als 300MB installieren muss, um dann die Zugriffsrechte über das Tool einzustellen.

    Liege ich komplett falsch? Kann mir jemand etwas dazu sagen?
    Ich möchte nach Möglichkeit die Anwendung per xCopy auf einen Terminal-Client kopieren und starten können. Geht das?

    Zum Programm: Neben einer Exe und den vier DLL's von mir besteht die Anwendung aus einer weiteren signierten DLL. An sonsten werden nur DLL aus dem Framework verwendet.

    Gruss
    Ralf

  • #2
    Hallo,

    ich habe gerade dazu einen interessanten Blog gelesen.
    http://blogs.msdn.com/shawnfa/archiv.../20/57023.aspx
    Da geht es genau um das Problem.
    Nach meiner Meinung habe ich aber alle Vorgaben erfüllt in dem ich jedes Modul signiert habe.

    Wo liegt also der Fehler?
    Die Anwendung wird in der s.g. Intranet Zone ausgeführt.

    Gruss
    Ralf

    Comment


    • #3
      Hallo,

      Liege ich komplett falsch?
      Ja - denn das SDK ist ja nur für den Entwickler vorgesehen. Sobald die Anwendung fertig ist, wird dem Projekt eine Klassenbibliothek hinzugefügt, um dort eine von System.Configuration.Install.Installer abgeleitete Klasse unterzubringen, die mit dem Attribut [RunInstaller(true)] gekennzeichnet wird. Diese Klasse konfiguriert die CAS-Einstellungen über die im .NET-Framework vorhandenen Klassen. Das eigene Setup bindet diese Klasse ein (siehe angehängte Abbildung).

      .. die Anwendung per xCopy auf einen Terminal-Client kopieren ...
      Wenn die Standard-Sicherheitseinstellungen nicht ausreichen, ist auch XCOPY nicht geeignet. Alternativ zum eigenen Setup könnte man eine CMD-Datei mit ausliefern, die caspol.exe für die Konfiguration nutzt.
      Attached Files

      Comment

      Working...
      X