Entwickler-Ecke

IO, XML und Registry - FileIOPermission: Start der Anwendung aus Netzwerkfreigabe


hobbyC#ler - Di 12.04.11 20:55
Titel: FileIOPermission: Start der Anwendung aus Netzwerkfreigabe
Hallo C#-Gemeinschaft,

ich habe folgende Konstellation meiner Anwendung: Die Basis verwaltet alle verfügbaren Module, die erst zur Laufzeit integriert werden (PlugIn), sofern dies vom Anwender angefordert wird. Jedes Modul ist eine separate DLL, die der Basis unbekannt ist.

Zum Problem: ein einfacher Export des Datengitters als CSV aus einem Modul funktioniert generell, wenn die Anwendung vom Installationsort gestartet wird. Wird die Anwendung aus einer Netzwerkfreigabe gestartet, wirft diese die Meldung im Sinne "FileIOPermission, mscorlib 2.0.0.0".

Ich habe viel gegoogelt und getestet und bin zu folgenden Ergebnissen gekommen. Das setzen der FileIOPermission für Pfade oder Dateien funktioniert leider nicht, da der FileSaveDialog bzw. FolderBRowseDialog selbst die Meldung zu werfen scheint - ich kenne ja den Pfad vorher nicht. Wird der Export direkt von der Basisanwendung gestartet, funktioniert alles. Ich habe zum Test umgebaut und direkt einen Verweis auf ein Modul(DLL) hinzugefügt und direkt den Konstruktor angesprochen - der Export funktioniert auch in diesem Fall ohne Fehler.

Ich habe zwar auch gelesen, dass die Konfiguration des Frameworks geändert werden kann - will ich aber nicht machen bzw. habe ich es auch noch nicht probiert, da das Problem irgenwie mit der Laden zur Laufzeit zu tun haben muss. Mittlerweile habe ich keine Idee mehr.

Vielleicht hat jemand von euch schon mal ähnliches oder gleiches gehört und eine Lösung parat. Ich freue mich auf jede Information und bedanke mich bereits jetzt schon einmal.

Viele Grüße


Th69 - Mi 13.04.11 12:23

Hallo,

wenn ich das richtig verstehe, dann scheint das das bekannte Problem bzgl. .NET 2.0 und Netzwerklaufwerke zu sein.
Abhilfe schafft hier die Verwendung der "caspol.exe" mit dem Parameter "FullTrust", s. z.B. .NET 2 Programm startet nicht vom Netzlaufwerk (SecurityException) [http://www.mycsharp.de/wbb2/thread.php?threadid=56475]

Ansonsten such mal einfach nach obigen zwei Stichwörtern im Netz.


Ralf Jansen - Mi 13.04.11 12:33

Ab dem Sp2 [http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f] des 2.0er Frameworks sollte das Problem nicht mehr auftreten da dort die Security an dieser Stelle gelockert wurde. Am geschicktesten (wenn möglich) wäre es aber ganz auf ein aktuelles Framework umzustellen also zumindest das 3.5er mit Sp1.