[Codesicherheit] Assembly in Netzfreigabe starten

Liebes Forum,

tut mir leid, aber wahrscheinlich stelle ich eine Newbie-Frage.
In C# programmieren kann ich wirklich ganz gut, aber mit Code-
sicherheit und so habe ich mich nicht wirklich auseinandergesetzt.
Mir fliegen wenn ich mal so google Wörter wie StrongName um die
Ohren, aber so richtig vorstellen kann ich mir darunter auch nichts.

Naja, zur Sache.

Hintergrund

Derzeit habe ich einen Programmierauftrag für eine branchenspezifische
Auftragsverwaltung. Während ich die Wünsche der Anwendung umsetze und
kleine Fehler beheben, arbeitet die Firma bereits mit dem System.
Die Art, wie ich das Update 2mal in der Woche deswegen durchführe,
kann man nicht mal im Ansatz Wartungsfreundlich nennen: Ich logge
mich auf dem Server per Fernzugriff ein (pcAnywhere), kopiere die
neuen Dateien rüber. Am Remote-Bildschirm öffne ich die Programm-
verzeichnisse auf den Anwender-PCs (Diese mussten ihre PCs deshalb
extra nach Feierabend laufen lassen) und kopiere die neuen Dateien
dort rein. Danach fahre ich per „shutdown -i“ die Anwender-PCs runter.
Super Lösung, ne?

Problemstellung

Am einfachsten für alle wäre, wenn die Benutzer auf ein Netzlaufwerk
oder eine Freigabe zugreifen könnten, und das Programm direkt von dort
ausführen. Daten werden lediglich in die Registry und in die SQL-DB
geschrieben, nicht ins Anwendungsverzeichnis, von daher wäre es also
gar kein Problem. Nur kommt beim Start über die Netzwerkfreigabe immer
(ihr könnt es euch ja schon denken) die SecurityException (scheitert
am Anfang gleich mal beim Registry-Zugriff).

Frage

Ich weiß, das ich in mscorcfg.msc die Intranet-Zone anpassen kann.
Das würde mir schon reichen, auch wenn StrongName & Co. natürlich
sicherer sind. Es handelt sich aber momentan nur um eine Abteilung
mit zwei Arbeitsplätzen - ihr seht also, das wäre absolut tragbar.
Nur habe ich das Problem das ich selten dort vor Ort sein kann und
das gerne per Fernzugriff irgendwie einrichten würde. Kann mir jemand
eine Schritt-für-Schritt Anleitung (geht auch weniger) präsentieren,
wie ich dem Code, der übers Intranet ausgeführt wird, alle Rechte
geben kann?

Vielen vielen Dank im Voraus.
Schöne Grüße,
Tommy

Liebes Forum,

[…]

Vielen vielen Dank im Voraus.
Schöne Grüße,
Tommy

Hallo!
Am einfachsten ist es wohl, wenn Du einfach die allgemeinen Sicherheitsrichtlinien per Wizard anpasst.
Geh’ also auf jeden der Clientrechner per PCAnywhere und mach’ Dir den Assistenten auf: Systemsteuerung>Verwaltung>Microsoft .NET Framework 1.1-Assistenten
Dort wählst Du „.NET Sicherheit anpassen“, „Änderungen an diesem Computer vornehmen“, Weiter, Markierst oben die Intranetzone und schiebst den Regler ganz nach oben (voll vertrauenswürdig).
Bis zum „Fertig stellen“ durchklicken und das war’s.

Dann musst Du nur noch dafür sorgen, dass Deine Anwendung auch tatsächlich von einer Stelle aufgerufen wird, die zur Intranetzone zählt. Ein verbundenes Laufwerk zählt normalerweise dazu, bei UNC-Pfaden klappt es meistens nicht.

Gruß,
Martin

Geh’ also auf jeden der Clientrechner per PCAnywhere und mach’
Dir den Assistenten auf:
(…)
Ein verbundenes Laufwerk zählt
normalerweise dazu, bei UNC-Pfaden klappt es meistens nicht.

Hi Martin,

danke für die Antwort. Was, wenn da kein pcAnywhere
drauf ist? Keine Möglichkeit? :frowning:

Was ist dann ein UNC-Pfad normal für eine Zone?

Vielen Dank,
Tommy

Geh’ also auf jeden der Clientrechner per PCAnywhere und mach’
Dir den Assistenten auf:
(…)
Ein verbundenes Laufwerk zählt
normalerweise dazu, bei UNC-Pfaden klappt es meistens nicht.

Hi Martin,

danke für die Antwort. Was, wenn da kein pcAnywhere
drauf ist? Keine Möglichkeit? :frowning:

Du hast doch geschrieben, Du hättest PCAnywhere-Zugriff…
Es ist letztlich egal, wie Du auf den Rechner kommst, Du musst halt nur den Wizard in der Systemsteuerung einmal aufrufen. Und ob das über RemoteDesktop, VNC, usw. usf. geht, ist ja egal.

Was ist dann ein UNC-Pfad normal für eine Zone?

Ich glaube Internet.

Vielen Dank,
Tommy

Mit dem anderen Control Panel (Microsoft .NET 1.1 Framework Konfiguration) kannst Du auch Installationspakete mit bestimmten Sicherheitsrichtlinien erstellen, ist aber deutlich komplexer und muss halt auch auf jedem Clientrechner installiert werden.

Martin

Hi Martin,

ich meinte nur das ich PcAnywhere Zugang zum Server (PDC) hab.
Aber stimmt, Remotedesktopverbindung müsste funktionieren.

Vielen Dank für Deine Hilfe.

Gruß,
Thomas