Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programm läuft nur unter Administrator richtig??? (https://www.delphipraxis.net/44610-programm-laeuft-nur-unter-administrator-richtig.html)

max666 21. Apr 2005 16:14


Programm läuft nur unter Administrator richtig???
 
Hallo!

Ich bin Programmierneuling und habe mich mit drei neuen Themen beschäftigt. Es geht also nur darum, den Umgang mit den folgenden drei Themen zu erlernen.

1. Daten in eine Ini-Datei speichern und lesen.
2. Registry-Einträge schreibe und lesen.
3. Die Konfiguration von Innosetup.

Ich habe ein ganz kleines und einfaches Datenbank-Programm geschrieben, bei dem Datensätze in eine Ini-Datei gespeichert und auch wieder geladen werden können.

Das Programm kann man auch einwenig konfigurieren. Diese Konfigurations-Daten werden in die Registry im Installationsverzeichnis des Programms gespeichert.

Aus dem Programm habe ich eine Installationsversion gemacht und den ganzen Schmodder auf zwei Rechner von mir installiert.

Das ganze funz wunderbar. Ich kann Datensätze speichern, lesen und Konfigurationsänderungen vornehmen.
Aber nur solange, wie ich in Administrator-Modus arbeite. Wenn ich mich als Gast mit eingeschränken Zugriffsrechten anmelde, kann ich in die Ini-Datei keine Daten lesen und schreiben und Konfigurationsänderungen sind auch nicht mehr möglich.

Jetzt gibt es aber viele Programme, die unter der zweiten Voraussetzung (eingeschränkter Zugriff) dennoch sauber laufen.

Hat jemand eine Idee, warum andere Programm auf Ini-Datein und die Registry zugreifen können, obwohl man eingeschränkte Zugiffsrechte besitzt???

Gruß aus dem Emsland
Max666

arbu man 21. Apr 2005 16:18

Re: Programm läuft nur unter Administrator richtig???
 
Wahrscheinlich speicherts du in der Registry im rootKey Local_machine das geht aber nur mit admin rechten du musst deswegen im rootkey current_user speichern

Waldteufel 21. Apr 2005 16:20

Re: Programm läuft nur unter Administrator richtig???
 
Hi.

Zu der Sache mit der Ini-Datei:

Als eingeschränkter Benutzer hat man keine Schreibrechte auf C:\Programme! Lege die Ini-Datei also besser unter C:\Dokumente und Einstellungen\meinprogramm.ini ab ;-)

Bernhard Geyer 21. Apr 2005 16:21

Re: Programm läuft nur unter Administrator richtig???
 
Zitat:

Zitat von max666
Das Programm kann man auch einwenig konfigurieren. Diese Konfigurations-Daten werden in die Registry im Installationsverzeichnis des Programms gespeichert.

Was nun? Registry oder im Installationsverzeichnis? Und wo in der Registry (HKEY_CURRENT_USER/HKEY_LOCAL_MACHINE)?
Unter HKEY_LOCAL_MACHINE haben nur Admins schreibrechte!

Zitat:

Zitat von max666
Aber nur solange, wie ich in Administrator-Modus arbeite. Wenn ich mich als Gast mit eingeschränken Zugriffsrechten anmelde, kann ich in die Ini-Datei keine Daten lesen und schreiben und Konfigurationsänderungen sind auch nicht mehr möglich.

Wo liegen die Ini-Dateien?
Etwas (problematischer) Code wäre hilfreich. Meine Glaskugel ist gerade in der jährlichen Inspektion. :-)

max666 21. Apr 2005 16:36

Re: Programm läuft nur unter Administrator richtig???
 
Hallo!

Unter HKEy_LOCAL_MACHINE wird in der Registry abgespeichert
und das Installationsverzeichnis befindet sich unter /Programm

Wo soll ich am besten die Registry einträge vornehmen?

Gruß
max666

Waldteufel 21. Apr 2005 16:45

Re: Programm läuft nur unter Administrator richtig???
 
Hi.

Zitat:

Zitat von max666
Wo soll ich am besten die Registry einträge vornehmen?

Unter HKEY_CURRENT_USER.

alcaeus 21. Apr 2005 16:50

Re: Programm läuft nur unter Administrator richtig???
 
Hallo max666,

hier mal ein paar Grundlegende "Richtlinien" fuer die Verwendung von Programmen unter Windows:
  • Programme sollen installiert werden koennen, wo man will.
  • Die Einstellungen sollen wenn moeglich nicht in der Registry abgespeichert werden.
  • Falls die Einstellungen in die Registry sollen, dann in HKCU.
  • Falls die Einstellungen in INI-Dateien abgespeichert werden, dann immer in "C:\Dokumente und Einstellungen\<User>\AnwendungsDaten". Diesen Pfad bekommst du ueber die Umgebungsvariablen, einfach mal suchen.
  • INI-Dateien, in welche nicht geschrieben werden soll, koennen auch im Programmverzeichnis landen.
  • Generell gilt: ein Programm immer mind. einmal als eingeschraenkter Benutzer auf Funktionalitaet pruefen.
Halte dich an diese paar "Regeln", und du wirst (fast) keine Probleme haben :)

Greetz
alcaeus

max666 21. Apr 2005 17:09

Re: Programm läuft nur unter Administrator richtig???
 
Hallo!

Echt super von euch!

Habe mein kleines Programm bereits umgeschrieben.
Jetzt klappt es!

Danke für die sehr schnellen und qualifizierten Antworten.

Gruß
MAx666

MathiasSimmack 21. Apr 2005 17:26

Re: Programm läuft nur unter Administrator richtig???
 
Zitat:

Zitat von alcaeus
hier mal ein paar Grundlegende "Richtlinien" fuer die Verwendung von Programmen unter Windows:
  • Programme sollen installiert werden koennen, wo man will.

Wenn du von einer Installation sprichst, dann gibt es eigene Richtlinien und eben kein "wo man will".

Zitat:

  • Die Einstellungen sollen wenn moeglich nicht in der Registry abgespeichert werden.

Sagst du. Nicht Microsoft. :stupid:

Zitat:

  • Falls die Einstellungen in INI-Dateien abgespeichert werden, dann immer in "C:\Dokumente und Einstellungen\<User>\AnwendungsDaten". Diesen Pfad bekommst du ueber die Umgebungsvariablen, einfach mal suchen.

Besser wäre eine [dp="CSIDL_APPDATA"]Shell[/dp]-Funktion, da Umgebungsvariablen nicht zwangsläufig unter allen Windows-Versionen vorhanden sind.

Waldteufel 21. Apr 2005 17:28

Re: Programm läuft nur unter Administrator richtig???
 
Hi.

Zitat:

Zitat von MathiasSimmack
Zitat:

Zitat von alcaeus
hier mal ein paar Grundlegende "Richtlinien" fuer die Verwendung von Programmen unter Windows:
  • Programme sollen installiert werden koennen, wo man will.

Wenn du von einer Installation sprichst, dann gibt es eigene Richtlinien und eben kein "wo man will".

Und wenn ich das Programm nach F:\Editoren\Notepad\ anstatt C:\Programme\Microsoft\Notepad\ installieren will? :roll:

//edit: Tippfehler...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz