Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Alle User auslesen (https://www.delphipraxis.net/71480-alle-user-auslesen.html)

Martin K 18. Jun 2006 14:02

Re: Alle User auslesen
 
@Luckie:
Danke :thumb:

Jetzt muss ich es nur noch irgendwie hinkriegen, bestimmte Ordner von den Usern auszulesen.
Mit Environment-Variablen kann ich ja nur auf All Users oder den aktuellen User zugreifen...
:gruebel:

Martin K 19. Jun 2006 15:54

Re: Alle User auslesen
 
Hm....
Hat denn keiner einen Vorschlag?

Es geht um folgendes:
Wenn ein Programm deinstalliert wird, sollen natürlich die entsprechenden Dateien bei allen Usern aus %AppData%\Mein Programm gelöscht werden.

Dazu lese ich nach Luckie's Methode alle User aus, aber wie geht es dann weiter?
Wie macht ihr so was?

Martin K 20. Jun 2006 22:11

Re: Alle User auslesen
 
Hm...
Ist es denn nicht möglich, einen ordentlichen Uninstaller zu bauen,
der die Einstellungen von allen Usern restlos entfernt (s. vorherige Beiträge) ?

Christian Seehase 20. Jun 2006 22:17

Re: Alle User auslesen
 
Moin Martin,

wenn Du das alles selber machen willst, dann sollte sich Dein Programm schlicht merken unter welchen Usern es gestartet wurde (am Besten inclusive Profilpfad).

Martin K 20. Jun 2006 22:25

Re: Alle User auslesen
 
Zitat:

Zitat von Christian Seehase
wenn Du das alles selber machen willst, dann sollte sich Dein Programm schlicht merken unter welchen Usern es gestartet wurde (am Besten inclusive Profilpfad).

Ja, aber wie denn?

Angenommen ein User hat ziemlich wenig Rechte und kann nur in seinem eigenen User-Verzeichnis schreiben.
Wo soll ich das dann speichern (den Pfad des Users), wenn dieser unter C:\Programme keine Schreib-Rechte hat???

fkerber 20. Jun 2006 22:30

Re: Alle User auslesen
 
Hi!

Selbst wenn du weißt, wo du was löschen wolltest, werden dir wohl bei einem Nicht-Administrator die Rechte dazu fehlen, um die Dateien zu löschen. Im Ordner eines anderen Users zu löschen ist "verboten" und das ist auch gut so ;)


Ciao Frederic

Martin K 20. Jun 2006 22:57

Re: Alle User auslesen
 
Hm...

Natürlich muss die Deinstallation von einem Administrator durchgeführt werden.
Aber ein guter Uninstaller zeichnet sich doch dadurch aus, dass alle Daten, die ein Programm hinterlässt, restlos gelöscht werden - und ich finde, das sollte auch für alle User gelten.

Wo ist denn sonst der Sinn, wenn das Programm (z.B. in C:\Programme) nicht mehr da ist, aber irgendein User noch Einstellungen (z.B. INI-Datei) von diesem Programm in seinen Anwendungsdaten hat?

Aber zum eigentlichen Problem:
Ist es denn nicht möglich, spezielle Pfade (Environment-Variablen) für einen UserX auszulesen - oder geht das nur für die, des aktuellen Users?

MathiasSimmack 21. Jun 2006 06:47

Re: Alle User auslesen
 
Zitat:

Zitat von Martin K
Wo ist denn sonst der Sinn, wenn das Programm (z.B. in C:\Programme) nicht mehr da ist, aber irgendein User noch Einstellungen (z.B. INI-Datei) von diesem Programm in seinen Anwendungsdaten hat?

Das ist gar nicht so unüblich. Die meisten Setups entfernen nur die Daten des angemeldeten Benutzers, und natürlich die Programmdaten, lassen aber die Ordner anderer User in Ruhe. In den meisten Fällen bietet die Firma dann aber eine Art Reinigungstool an, dass der User starten kann, und dass nur seinen Profilordner säubert.

Martin K 21. Jun 2006 12:24

Re: Alle User auslesen
 
Irgendwie gefällt mir das alles nicht, wenn ein Programm nach der Deinstallation noch irgendwo Daten hinterlässt.

Dann ist es wohl doch besser, in die Registry zu speichern...
denn da ist es einfach, die Einstellungen eines Programms bei allen Usern zu entfernen:
Einfach in einer For-Schleife alle Unterschlüssel von HKEY_USERS durchgehen :wink:

freak4fun 21. Jun 2006 13:19

Re: Alle User auslesen
 
Du könntest als Alternative eine Meldung ausgeben, das dein Programm nicht berechtigt war Daten zu löschen und dass man das doch bitte "per Hand" tuen soll. Dann gibst du den/die Ordner an und gut. Hab ich schon öfters gesehen.

MfG
freak


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

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