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 als Admin installieren und als Benutzer verwenden (https://www.delphipraxis.net/99753-programm-als-admin-installieren-und-als-benutzer-verwenden.html)

Mike_on_Tour 17. Sep 2007 12:25


Programm als Admin installieren und als Benutzer verwenden
 
Hallo,

ich stehe vor folgendem Problem:

Es wird unter Windows XP ein Programm (mit InnoSetup erstellt) installiert. Dazu werden Admin-Rechte benötigt. Das Programm legt einen Eintrag in der Registry unter HKCU/Software an. Außerdem wird eine Ini-Datei in C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\ für alle Benutzer angelegt. Danach meldet sich der Benutzer an und will das Programm starten. Das Programm meldet nun aber einen Fehler, weil der Registry-Eintrag in HKCU ja für den Admin erstellt wurde und nicht für den Benutzer gelesen werden kann. Außerdem meldet das Programm einen weiteren Fehler beim Schreiben auf die Ini-Datei, weil der Besitzer der Ini-Datei immer noch der Admin ist (und damit die Schreibrechte hält).
Wie muß man (mit InnoSetup) den Registry-Eintrag erstellen, daß er von allen Benutzern erkannt wird (mind. Leserechte für alle, Schreibrechte nur für Admin) und wie läßt sich die Ini-Datei ohne Besitzrechte anlegen ? Oder sitzt das Problem wo anders ?

Mike

mkinzler 17. Sep 2007 12:33

Re: Programm als Admin installieren und als Benutzer verwend
 
Schreibe die Daten in den ALLUSER-Benutzerzweig.
Welches OS?

jfheins 17. Sep 2007 12:39

Re: Programm als Admin installieren und als Benutzer verwend
 
@mkinzer:
Zitat:

Zitat von Mike_on_Tour
ich stehe vor folgendem Problem:

Es wird unter Windows XP ein Programm (mit InnoSetup erstellt) installiert.

;)


Zitat:

Wie muß man (mit InnoSetup) den Registry-Eintrag erstellen, daß er von allen Benutzern erkannt wird (mind. Leserechte für alle, Schreibrechte nur für Admin) und wie läßt sich die Ini-Datei ohne Besitzrechte anlegen ? Oder sitzt das Problem wo anders ?

Mike
Wie wäre es mit dem HKLM Zweig ? Leserecht für alle, schreibrecht nur für admins ;)

Mike_on_Tour 17. Sep 2007 12:40

Re: Programm als Admin installieren und als Benutzer verwend
 
Zitat:

Zitat von mkinzler
Schreibe die Daten in den ALLUSER-Benutzerzweig.

... C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\. ...
Zitat:

Zitat von mkinzler
Welches OS?

1. Textzeile, Wort 4 bis 5

sakura 17. Sep 2007 12:44

Re: Programm als Admin installieren und als Benutzer verwend
 
Zitat:

Zitat von Mike_on_Tour
Zitat:

Zitat von mkinzler
Schreibe die Daten in den ALLUSER-Benutzerzweig.

... C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\. ...

Stichwort: Kopieren&Lokalisieren. Alle in AllUsers können lesen, aber schreiben immer nur der Ersteller. Also kopiere Dir die INI-Datei ins lokale Nutzerverzeichnis und nimm dort die für den Nutzer nötigen Änderungen vor. So "verärgert" dieser auch die anderen Nutzer mit seinen Einstellungen nicht.

...:cat:...

Mike_on_Tour 17. Sep 2007 12:46

Re: Programm als Admin installieren und als Benutzer verwend
 
Zitat:

Zitat von jfheins
Wie wäre es mit dem HKLM Zweig ? Leserecht für alle, schreibrecht nur für admins ;)

Ja, an sowas hatte ich auch gedacht. Müßte ich dann aber Registry-Einträge, die vom Anwenderprogramm stammen weiter unter HKCU ablegen (z.B. Verzeichnisnamen) ?

Mike

Mike_on_Tour 17. Sep 2007 16:35

Re: Programm als Admin installieren und als Benutzer verwend
 
Also, der Registryeintrag steht jetzt in HKLM/Software/Programm. Die Ini-Datei steht unter C:\Dokumente_und_Einstellungen\<Username>\Anwendun gsdaten\<Programmname>. Als Admin kann ich mit dem Programm ohne Fehler arbeiten. Aber als eingeschränkter Benutzer kann ich beim Zugriff auf die Registry in HKLM den Key nicht öffnen (CurrentPath ist leer). Offensichtlich fehlt dem Benutzer doch das Recht zum Lesen, oder ? Was tun ?

Mike

Christian Seehase 17. Sep 2007 16:52

Re: Programm als Admin installieren und als Benutzer verwend
 
Moin Mike,

ich vermute mal, dass Du TRegistry benutzt.
Dort musst Du den gewünschten Zugriff gezielt einschränken, sonst wird mit KEY_ALL_ACCESS versucht den Key zu öffnen, was bei fehlenden Schreibrechten dann natürlich fehlschlägt.

Mike_on_Tour 17. Sep 2007 17:25

Re: Programm als Admin installieren und als Benutzer verwend
 
Hallo Christian,
Du hast richtig vermutet. Ich war auch gerade dabei, den Zugriff explizit anzugeben, als Deine Antwort kam. Es sieht jetzt ganz gut aus. Jetzt muß ich nur noch dafür sorgen, daß InnoSetup alles richtig installiert und später auch deinstalliert. Das wird bei den Benutzereinträgen aber sicher nicht einfach. Also, vielen Dank an alle bis hierher.

Mike

Christian Seehase 17. Sep 2007 17:28

Re: Programm als Admin installieren und als Benutzer verwend
 
Moin Mike,

bei Benutzerdaten solltest Du vielleicht noch eine Export-/Importfunktion vorsehen.
Das ist etwas was leider oft fehlt, und sich oft nur schwer selber machen lässt.
Ich finde es nämlich immer wieder übel, welchen Aufwand man oft treiben muss, um eine Konfiguration wiederherzustellen. :?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 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