Laden...

Administratorrechte dauerhaft erlangen durch Installation?

Erstellt von 1mannlan vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.312 Views
1
1mannlan Themenstarter:in
88 Beiträge seit 2009
vor 12 Jahren
Administratorrechte dauerhaft erlangen durch Installation?

Hey,

da ich kurz vorm Release einer neuen Programm Version eines meiner Projekte stehe fragte mich heute jemand etwas auf das ich keine Antwort wusste.
Mein Programm muss als Administrator ausgeführt werden, logisch es schreibt in die Registry und in "C:\Programme". Für mich logisch aber ein was konnte ich nicht erklären. Wie kann es sein das Programme wie zum Beispiel Tortoise Svn trotz nicht vorhandener Administratorrechte Schreibrechte bekommen egal an welchem Ort? (Checkout z.B.).
Ist es möglich, z.B. durch einen Trusted Installer dem Programm Schreibrechte im Programmverzeichnis usw. einzuräumen? Oder gibt es absolut gar keine andere Möglichkeit?
Klar wäre das ganze nicht ganz im Sinne von UAC, aber irgendwie muss es ja möglich ein, Spiele all diese Programme können ja schließlich auch Screenshots erstellen Fraps Videos usw.

Wäre mal für Antworten dankbar!

153 Beiträge seit 2007
vor 12 Jahren

Vermutlich läuft für Turtoise ein Dienst mit Adminrechten. Das wäre wohl auch für Deine Aufgabe die Lösung.

Grüße,
Chris

"Wenn Architekten genauso bauen würden, wie Programmierer programmieren, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören." (Steven Weinberg)

1
1mannlan Themenstarter:in
88 Beiträge seit 2009
vor 12 Jahren

Mein Programm macht folgendes: Es schreibt Dateien, verändert diese usw. Also wäre hier ein zusätzlicher Dienst nicht sinnvoll, denn fast jeder Knopf würde das ganze weitergeben müssen.
Es geht übrigens um dieses hier:
Garry's Mod Manager

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo 1mannlan,

Rechte für Registry und Dateisystem sind nicht programm- sondern benutzerbezogen (oder benutzergruppenbezogen). Es wäre aber durchaus möglich (und üblich), normalen Benutzer bei der Installation die nötigen Rechte für den Zweig in der Registry zu geben, in denen das Programm seine Einstellungen ablegt. Gängige Installer-Generatoren sollten dafür eine Unterstützung anbieten.

Bei C:\Programme sieht es schon etwas anders aus. Dort sollen normale Benutzer absichtlich keine Schreibrechte habe. Es wäre keine gute Idee, normalen Benutzern die Rechte trotzdem einzuräumen. Die wenigsten Programme werden das tun. Etwaige Ausnahmen bestätigen nur die Regel.

herbivore

906 Beiträge seit 2005
vor 12 Jahren

Warum muss dein Programm nach C:\Programme schreiben?

1
1mannlan Themenstarter:in
88 Beiträge seit 2009
vor 12 Jahren

Das Problem ist das wer sich das Programm oben im Link angeschaut hat, es sich um eine Art Manager von Addons handelt.
Dafür wird aus der Registry ein Schlüssel ausgelesen, welcher dann den direkten Pfad angibt (Unter C:\Programme).
In dem Ordner befindet sich quasi ein Addonordner in den Dateien kopiert werden müssen. Die Sache mit der Registry ließe sich vielleicht noch umgehen, zwingender Schreibzugriff jedoch nicht.

906 Beiträge seit 2005
vor 12 Jahren

dann erstelle ein Helpertool, dass die Addins installiert und fordere für dieses Programm Adminrechte an. So läuft dein Programm weiterhin mit Benutzerrechten.

1
1mannlan Themenstarter:in
88 Beiträge seit 2009
vor 12 Jahren

Naja da fast jede Aktion des Programms Adminrechte dann erfordern würde wäre das eher Sinnlos. Die Frage war eher ob man das nicht direkt per Installer oder so vom vornherein lösen kann, das diese nicht benötigt werden.

906 Beiträge seit 2005
vor 12 Jahren

Naja da fast jede Aktion des Programms Adminrechte dann erfordern würde wäre das eher Sinnlos.

wie oft wird das denn ausgeführt? Wie oft ändert sich etwas im Programmordner und WARUM so oft?

1
1mannlan Themenstarter:in
88 Beiträge seit 2009
vor 12 Jahren

Die Sache ist die, das das Programm bei jedem Start einen Registry Wert abfragt, der angibt wohin die Daten gespeichert werden müssen. Das ganze könnte ich noch per Config Datei aushebeln, was aber wichtiger ist, das zum bespiel wenn der Pfad "C:\Programme\TestAnwendung" gewählt wurde sämtliche Überordner Schreibrechte haben müssen, also z.B. ""C:\Programme\TestAnwendung\Einstellungen", "C:\Programme\TestAnwendung\Addons" usw...
in diesen Ordner werden dann vom Desktop oder bzw. Download Ordner herraus Dateien hinein kopiert oder direkt per Svn Clienten Installiert. Hoffe es ist jetzt etwas klarer.

906 Beiträge seit 2005
vor 12 Jahren

Einstellungen gehören seit über 10 Jahren nicht in den Programme Ordner rein. Dafür gibts die passenden Ordner im Benutzerprofil:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Dort kannst du auch die Addons hin-einpacken und laden.

Einen Wert kannst du auch als Benutzer aus der Registry lesen solange du das Rechte zum Lesen hast. Das ist bis auf einige Systemzweige immer möglich.

151 Beiträge seit 2003
vor 12 Jahren

Das ist ja nicht für seine eigene Anwendung. Er installiert / manipuliert Addons für ein externes Programm (gmod; Half-Life 2 mod soweit ich weiss).

906 Beiträge seit 2005
vor 12 Jahren

achso. Dann kann er das Fremdanbieterprogramm mit der Aufgabenplanung ("mit erhöhten Rechten ausführen" muss im Task aktiviert werden) dazu überreden mit Adminrechten zu laufen. Der Aufruf geht dann über schtasks.exe /RUN /TN "taskname"

1
1mannlan Themenstarter:in
88 Beiträge seit 2009
vor 12 Jahren

Es geht hier eben um eine Lösung mein Programm auf den User Rechnern ohne großartige strapazen zu installieren. Wie bereits oft genannt, andere Programme können das ja auch.

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo 1mannlan,

andere Programme können das ja auch

glaub ich nicht. Jedenfalls nicht mit irgendwelchen Zaubertricks. Entweder die Programme laufen doch mit Adminrechten oder die Zugriffsrechte auf die Ziele wurden bei der Installationen so geändert, dass normale Benutzer Zugriff haben. Das wäre zwar bequem, aber unangebracht und unsicher.

Es ist halt die übliche Abwägung zwischen Sicherheit und Bequemlichkeit. Die Benutzer sollten sich aber so langsam daran gewöhnen oder schon gewöhnt haben, dass Sicherheit nicht umsonst zu haben ist. Also taue ihnen ruhig etwas mehr zu.

herbivore