| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: System.Security.SecurityException beim ausführen einer NX4-Programm auf einem Server (1572 mal gelesen)
|
MarckyMON Mitglied Programmierer
Beiträge: 35 Registriert: 07.07.2008
|
erstellt am: 29. Nov. 2010 21:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, Ich krieg das folgende Problem einfach nicht hin. Ich habe ein NX4 Programm als Class-Library in VB .NET entwickelt und diese liegt nun auf einem Server. Jedoch wenn ich versuche in NX4 das Programm zu starten, bekomme ich folgendes in der NX-Log: System.TypeInitializationException: The type initializer for "TDF_MIKRON_dwg_to_dxf.EntryPoint" threw an exception. ---> System.Security.SecurityException: Request for the permission of type System.Security.Permissions.SecurityPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed. at TDF_MIKRON_dwg_to_dxf.EntryPoint..cctor() The state of the failed permission was: <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode"/> --- End of inner exception stack trace --- at TDF_MIKRON_dwg_to_dxf.EntryPoint.GetUnloadOption() *** EXCEPTION: Error code 67 in line 996 of O:\ugnx404\ip2\src\syss\no\ind\lmldr.c at Mon Nov 29 21:16:49 2010 W. Europe Standard Time Leider kenn ich mich mit solchen Sachen wenig aus. Nach stundelangen Forschung muß ich entweder Attribute setzten oder die CAS für .NET 1.1 konfigurieren. Bitte bitte ich brauche Hilfe!!! Danke Euch!!!! ------------------ Gruß, char *name = "Marc"; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 30. Nov. 2010 07:28 <-- editieren / zitieren --> Unities abgeben: Nur für MarckyMON
Hi Marc, das liegt an den .net Sicherheitseinstellungen. Eine .net dll oder exe muss immer lokal liegen, sonst wird sie nicht ausgeführt. Probier dein Programm mal lokal zu starten. Gruß ------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 30. Nov. 2010 09:06 <-- editieren / zitieren --> Unities abgeben: Nur für MarckyMON
Zitat: Original erstellt von gfx-toxic.de: Eine .net dll oder exe muss immer lokal liegen, sonst wird sie nicht ausgeführt.
Hallo Matthias, das ist so nicht richtig. Die .NET Security kann so eingestellt werden, daß Programme auch vom Server aufgerufen werden können. Das geht mit SDK über die Systemsteuerung, sonst über die Kommandozeile: caspol .... Wie genau steht in der Doku. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 30. Nov. 2010 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für MarckyMON
Hi Michael, aber der Standard ist glaub ich so. und bei uns in der Active Directory habe ich leider keine Einfluss darauf ;-) ------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MarckyMON Mitglied Programmierer
Beiträge: 35 Registriert: 07.07.2008
|
erstellt am: 30. Nov. 2010 10:07 <-- editieren / zitieren --> Unities abgeben:
Zitat: Probier dein Programm mal lokal zu starten.
Das Programm läuft lokal. Allerdings muss die leider auf einem Server, damit jeder Zugriff drauf hat. Zitat: Das geht mit SDK über die Systemsteuerung, sonst über die Kommandozeile: caspol .... Wie genau steht in der Doku.
Ich habe schon bereits mit der Utility rumgespielt (aber interaktiv). Ich habe als beispiel LocalIntranet auf FullTrust umgebogen aber leider ohne erfolg. Zu dieser Thema fand ich auch nichts in der NX4 Dokumentation. Bin echt ratlos... aber das Problem scheint eher mit ManagedLoader.dll als mein Programm, oder?? ------------------ Gruß, char *name = "Marc"; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 30. Nov. 2010 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für MarckyMON
@Matthias: Wenn Du die (Standard) Einstellungen der .NET Security nicht änderst, können Programme vom Server nicht ausgeführt werden. @Marc: Die Doku zum Thema ist im Anhang. Hier war's schon mal auf der Tagesordnung. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MarckyMON Mitglied Programmierer
Beiträge: 35 Registriert: 07.07.2008
|
erstellt am: 30. Nov. 2010 20:59 <-- editieren / zitieren --> Unities abgeben:
Hi Michael, erstmal vielen Dank für die Information! Zitat: Schau mal in der NX-Hilfe unter "NX Open for .NET Programmer's Guide" "Requirements" "Adjusting Intranet Zone Security"
Leider ist der oberen erwähnten Abschnitt in der NX4-Dokumentation nicht vorhanden. Die anderen Beiträge reden auch über .NET 2.0; gilt die Sicherheitsregeln auch für .NET 1.1? Zweitens, auf welcher Machine muss die Sicherheitseinstellung geändert werden - auf dem Client oder auf dem Server? ------------------ Gruß, char *name = "Marc"; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 01. Dez. 2010 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für MarckyMON
Zitat: Original erstellt von MarckyMON: gilt die Sicherheitsregeln auch für .NET 1.1?
Davon geh' ich aus. Zitat: Original erstellt von MarckyMON: Zweitens, auf welcher Machine muss die Sicherheitseinstellung geändert werden - auf dem Client oder auf dem Server?
Die Logik sagt: Client. Der will ja was "fremdes" vom Server ausführen. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Technische*r Zeichner*in Elektrotechnik | Seit 1866 gilt unsere Leidenschaft der Technik und der Sicherheit. Innovationen beeinflussen unser Leben in vielfältiger Weise. Für die Sicherheit von Menschen und der Gesellschaft setzen wir uns jeden Tag aufs Neue ein und schaffen Vertrauen in neue Technologien. Wir sind Teil des Fortschritts. Wir beraten, wir prüfen, wir zertifizieren. Wir handeln aus Überzeugung, gestalten schon heute die Welt von morgen ? setzen Zeichen.... | Anzeige ansehen | Technischer Zeichner, Bauzeichner |
|
MarckyMON Mitglied Programmierer
Beiträge: 35 Registriert: 07.07.2008
|
erstellt am: 02. Dez. 2010 11:06 <-- editieren / zitieren --> Unities abgeben:
So!! Ich habs hinbekommen!! Und zwar wie folgt, aber auf dem Client: 1. Systemsteuerung->Verwaltung->Microsoft .NET Framework 1.1 Configuration 2. Der Knoten My Computer->Runtime Security Policy->Machine->Code Groups->All_Code aufklappen. 3. Mit rechten Maustase auf All_Code, dann "New..." 4. Ein beliebiger Name und beliebige Beschreibung eingeben, dann mit "Next" fortfahren. 5. Von der Drop-Down-Liste "URL" auswählen. Im Textfeld "file://<deinservername>/*" eingeben, dann auf "Next". 6. FullTrust von der Drop-Down-Liste auswählen, dann mit "Finish" beenden. Jetzt laufen meine Tools einwandfrei vom Server! ------------------ Gruß, char *name = "Marc"; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |