.NET Programme über Netzlaufwerke aufrufen (CASPOL.EXE)


Wer versucht ein .NET Framework 2.0 Programm von einem Netzlaufwerk zu starten und Standardrechte für die IntranetZone überschreitet, bekommt den üblichen Windowsdialog <EXEDatei> hat ein Problem festgestellt und muss beendet werden. Wenn man das Programm auf die lokale Platte kopieren würde und von dort startet, würde es ohne Probleme laufen.

Wenn man sich den Fehlerbericht genauer ansieht dann steht bei EventTyp: clr20r3 und bei P9: system.security.security.

Das hängt damit zusammen dass man auf der lokalen Platte volle Rechte hat, da man sich in der MyComputer Zone befindet, wenn man aber ein Programm von einem Netzwerklaufwerk startet befindet man sich aber in der Intranet Zone.

Um nun mehr Rechte zu bekommen und das Programm ausführen zu können, kann man z. B. per CASPOL (als Administrator) mehr Rechte vergeben. Um nicht allem möglichen die Tür zu öffnen kann man mit folgender Zeile die Rechte nur für ein Verzeichnis setzen:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>caspol -m -ag Intranet -url \\server\freigabe\pfad\* FullTrust -n „Name“ -d „Beschreibung“

CASPOL.EXE ist in obigem Verzeichnis zu finden. Bei den Parameter ist Groß/Kleinschreibung zu beachten, d. h. fulltrust anstatt FullTrust ergibt eine Fehlermeldung! Den Pfad gibt man als UNC-Name an. CASPOL.EXE gibt es jeweils für das .NET Framework 1.0, 1.1 und 2.0 und die Rechte werden zwischen den verschiedenen Versionen unterschieden. D. h. führt man obige Zeile aus, so ändert sich nichts an den Rechten für .NET Framework 1.0 und 1.1 Programme.

Zusätzlich ist noch wichtig zu wissen, dass der spätere Aufruf auch über einen gemappten Laufwerksbuchstaben erfolgen kann. Durch das Zuordnen von mehr Rechten für das Verzeichnis bekommen automatisch auch alle ausführbaren Dateien und Unterordner die gesetzen Rechte.

Darüber hinaus gibt es noch zig andere Varianten um Programmen die nötigen Rechte zukommen zu lassen. Weitere Infos findet man unter:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpgrfCodeAccessSecurityPolicyUtilityCaspolexe.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconUsingCodeAccessSecurityPolicyToolCaspolexe.asp

oder in Deutsch:
http://msdn2.microsoft.com/de-de/library/7c9c2y1w.aspx

7 Antworten to “.NET Programme über Netzlaufwerke aufrufen (CASPOL.EXE)”

  1. Wie meine Anwendung fr Start auf unbekanntem Netzlaufwerk vorbereiten? - .NET Caf @ tutorials.de: Forum - Tutorials - Hilfe - Schulung & mehr Says:

    […] AW: Wie meine Anwendung fr Start auf unbekanntem Netzlaufwerk vorbereiten? Ich hab noch was gefunden: .NET Programme ber Netzlaufwerke aufrufen (CASPOL.EXE) Allerding gehen beide darauf ein, einfach nur FULL-TRUST zu gewhren. Was Sicherheitstechnisch ein wenig bedenklich ist. Da man der Regel folgen sollte, nur soviel Rechte wie ntig zu vergeben. __________________ Allen ist das Denken erlaubt, vielen bleibt es erspart. (Kurt Goetz) […]

  2. Elkos Says:

    Hi !
    Dank deines Posts hab ich auch festgestellt warum mein Programm nicht starten wollte. Bin halt nicht gerade fit in Sicherheitsrichtlinien, aber jetzt hab ich wieder was dazugelernt.
    Danke 😉

  3. MikeH Says:

    Unter Windows Vista hatte

    caspol -m -ag Intranet -url \\server\freigabe\pfad\* FullTrust

    nicht zum Erfolg geführt, aber mit

    caspol -m -ag 1.2 -url \\server\freigabe\verzeichnis\* FullTrust

    hat es geklappt! Die Nummer bekommt man durch

    caspol -m -lg

  4. Auf Netzlaufwerk lokal zugreifen - Supernature-Forum - das Wohlfhlboard Says:

    […] habe hier was gefunden, wo du mal weiter forschen knntest: .NET Programme über Netzlaufwerke aufrufen (CASPOL.EXE) Das nie endende Chaos! […]

  5. Jubel Says:

    Bei mir unter Vista:

    caspol -m -ag 1 -url file://\\\servername\bin\* FullTrust

  6. .NET Framework Programme über Netzlaufwerke aufrufen wird mit NET 3.5SP1 einfacher « Das nie endende Chaos! Says:

    […] sich zwar mit CASPOL.EXE helfen aber das war lästig. Wie man dies seither machte, ist im Artikel https://newyear2006.wordpress.com/2006/09/02/net-programme-uber-netzlaufwerke-aufrufen-caspolexe/ […]

  7. Problem beim Assembly laden in Visual Studio 2010 mit LinkId=179545 bei WPF oder Silverlight Anwendung « Der faule Programmierer Says:

    […] so konnte man sich früher behelfen: https://newyear2006.wordpress.com/2006/09/02/net-programme-uber-netzlaufwerke-aufrufen-caspolexe/ […]

Hinterlasse einen Kommentar