Delphi-PRAXiS
Seite 32 von 33   « Erste     22303132 33      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Der Launcher ... Eine Schnellstart-Leiste (https://www.delphipraxis.net/61370-der-launcher-eine-schnellstart-leiste.html)

EWeiss 11. Mär 2017 20:39

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Zitat:

Diese speichert ihre Einstellungen im Programmordner.
Was? Nö

Bei mir unter
Zitat:

C:\Users\Emil Weiss\AppData\Roaming\BrewIdeas\ProgCommand
Oder meinst du seins..
Wenn das so ist. Jup das ist schlecht.

gruss

Luckie 11. Mär 2017 20:46

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Also ich habe die Zip Datei genommen. Ist das bei der Setup Version anders?

Delphi-Laie 11. Mär 2017 23:57

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Zitat:

Zitat von Luckie (Beitrag 1363896)
Ich habe die Zip Version genommen. Diese speichert ihre Einstellungen im Programmordner. Mit dem Ergebnis, dass sich die unterschiedlichen Benutzer gegenseitig ihre Einstellungen überschreiben. Somit ist das Programm auf Rechnern, die von mehreren Benutzern benutzt werden, nicht benutzbar.

Welches wären die jeweiligen geeignetsten nutzerspezifische Verzeichnisse dafür?

Es sollten zudem dann für jeden Nutzer, egal, mit welchen Rechten ausgestattet (also am besten auch Gäste), die Daten speicherbar sein.

Ich frage das deshalb, weil ich auch vor einer ähnlichen Herausforderung stehe.

Edit: Das hier fand ich dazu wieder: http://michael-puff.de/Programmierun.../HOMEDIR.shtml

Hobbycoder 12. Mär 2017 10:59

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1363905)
Zitat:

Zitat von Luckie (Beitrag 1363896)
Ich habe die Zip Version genommen. Diese speichert ihre Einstellungen im Programmordner. Mit dem Ergebnis, dass sich die unterschiedlichen Benutzer gegenseitig ihre Einstellungen überschreiben. Somit ist das Programm auf Rechnern, die von mehreren Benutzern benutzt werden, nicht benutzbar.

Welches wären die jeweiligen geeignetsten nutzerspezifische Verzeichnisse dafür?

Es sollten zudem dann für jeden Nutzer, egal, mit welchen Rechten ausgestattet (also am besten auch Gäste), die Daten speicherbar sein.

Ich frage das deshalb, weil ich auch vor einer ähnlichen Herausforderung stehe.

Edit: Das hier fand ich dazu wieder: http://michael-puff.de/Programmierun.../HOMEDIR.shtml

Naja, Grundsätzlich hat MS ja genau dafür die Bentzerprofile. Da gibt es z.B. den Ordner APPDATA unter jedem Benutzer. Dort findet man Roaming und Local als Unterordner. Roaming wird in einer Windows-Domäne als Profil auf dem Server abgelegt, so dass die Einstellungen, die dort liegen für den Benutzer auch an anderen Rechnern zur Verfügung stehen. Und Local, wie der Name schon sagt, bleibt nur auf dem Rechner. Das sind die Verzeichnisse, in denen der User eigentlich immer Schreibrechte hat und dort gehören auch Benutzerspezifische Einstellungen hin.
Sind es Computerbezogene Einstellungen, so ist der Ordner ProgramData (Früher unter Benutzer/AllUsers) die richtige Wahl, worauf man allerdings nicht als normaler User Schreibrechte hat.

CSIDL wäre ein Stichwort.

Was ich so gar nicht mag ist, wenn ein Programm entweder a) zwingend Schreibrechte auf ProgramData, Programme, Programme(x86) odeer sogar Windows haben muss, damit es fehlerfrei läuft und b) sich auf C einen Order anlegt, damit es darauf garantiert Schreibrechte hat. Erlebe ich leider im branchenspezifischen Umfeld immer wieder.

SittingDuck 12. Mär 2017 13:02

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Luckie hatte doch in seinem HOMEDIR Beitrag geschrieben, dass Zip-Dateien nur fürs schnelle Testen und z.B. nur zu einer kurzen Vorstellung im Forum dienen sollten. Wer lieber alles korrekt mit Installer und sauberem Deinstaller möchte, der nimmt halt die Setup.exe. Dann hat man auch seine Einstellungen da, wo sie hin gehören. Entschuldigt bitte, das ich das nicht extra erwähnt hatte ... ich bin hier etwas aus der Übung.

Natürlich gibt es auch andere Programme in der Art wie der Launcher, aber in der Kombination mit einem Anrufmonitor und den Popup Fenster Möglichkeiten wird es dann aber schnell düster. Optisch gesehen gibt es auch deutlich langweilige Ausführungen als mein Tool. Die Frage, ob man so etwas generell braucht, hatten wir schon mal ein paar hundert Beiträge füher in diesem Thread. Die einen sagen so, die anderen so ...

himitsu 12. Mär 2017 13:09

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Pssst, nicht stören lassen ... ich wollte nur mal was Unwichtiges erwähnen.
Zitat:

Liebe Besucher,
die gesuchte Arcor-Homepage ist unter dieser Adresse nicht mehr erreichbar.

EWeiss 12. Mär 2017 13:15

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Zitat:

Zitat von himitsu (Beitrag 1363931)
Pssst, nicht stören lassen ... ich wollte nur mal was Unwichtiges erwähnen.
Zitat:

Liebe Besucher,
die gesuchte Arcor-Homepage ist unter dieser Adresse nicht mehr erreichbar.

Jo die haben den Support still und heimlich eingestellt. Anfang 2017
Ist bei mir das selbe.
Die linken jetzt zu 1&1 Kostenpflichtig natürlich (Aber bewahre) :)

gruss

a.def 12. Mär 2017 13:24

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1363905)
Zitat:

Zitat von Luckie (Beitrag 1363896)
Ich habe die Zip Version genommen. Diese speichert ihre Einstellungen im Programmordner. Mit dem Ergebnis, dass sich die unterschiedlichen Benutzer gegenseitig ihre Einstellungen überschreiben. Somit ist das Programm auf Rechnern, die von mehreren Benutzern benutzt werden, nicht benutzbar.

Welches wären die jeweiligen geeignetsten nutzerspezifische Verzeichnisse dafür?

Es sollten zudem dann für jeden Nutzer, egal, mit welchen Rechten ausgestattet (also am besten auch Gäste), die Daten speicherbar sein.

Ich frage das deshalb, weil ich auch vor einer ähnlichen Herausforderung stehe.

Edit: Das hier fand ich dazu wieder: http://michael-puff.de/Programmierun.../HOMEDIR.shtml

Ich handhabe das fast gleich. Wenn man mein Programm das erste Mal startet wird der Nutzer gefragt, ob es portabel eingesetzt werden soll oder nicht. Portabel heißt hier, dass die Programmeinstellungen in einem Unterordner vom Programmordner selber gespeichert werden. Entscheidet sich der Nutzer anders, speichert mein Programm im AppData/<Programmname>-Ordner.

Entscheidet sich der Nutzer für eine portable Nutzung, das Verzeichnis kann aber nicht beschrieben werden, gibt mein Programm darüber Auskunft und bietet zwei Lösungsmöglichkeiten an: entweder das Programm als Administrator starten oder ins AppData-Verzeichnis speichern.

Delphi-Laie 12. Mär 2017 14:38

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Zitat:

Zitat von EWeiss (Beitrag 1363933)
Zitat:

Zitat von himitsu (Beitrag 1363931)
Pssst, nicht stören lassen ... ich wollte nur mal was Unwichtiges erwähnen.
Zitat:

Liebe Besucher,
die gesuchte Arcor-Homepage ist unter dieser Adresse nicht mehr erreichbar.

Jo die haben den Support still und heimlich eingestellt. Anfang 2017
Ist bei mir das selbe.
Die linken jetzt zu 1&1 Kostenpflichtig natürlich (Aber bewahre) :)

"Still und heimlich"? Bei mir nicht, ganz im Gegensatz: Monatelang wurde ich deswegen von Arcor geradezu vollgespammt...

Delphi-Laie 12. Mär 2017 15:42

AW: Der Launcher ... Eine Schnellstart-Leiste
 
Auch wenn es nur mittelbar mit dem eigentlichen Launcher zu tun hat, darf ich bitte noch zwei Fragen stellen, Luckie und die anderen, bitte?

Also 1. Wenn es dieses Verzeichnis "[jeweiliger Nutzer]\Anwendungsdaten" gibt und das ohnehin lokal ist, welchen Sinn hat dann noch das zusätzliche Verzeichnis "[jeweiliger Nutzer]\Lokale Einstellungen\Anwendungsdaten"

Und 2. Der Aufwand zur Ermittlung des jeweiligen Verzeichnisses (bzw. konkret dessen Pfades) über die jeweilige CSIDL ließe sich ggf. weiter reduzieren, nämlich über Umgebungsvariablen, am Beispiel des Anwendungsdaten-Verzeichnisses mit der vergleichsweise einfachen Funktion:

Delphi-Quellcode:
function ExpandEnvStr(const szInput: string): string;
  const
  MAXSIZE = 32768;
  begin
  SetLength(Result,MAXSIZE);
  SetLength(Result,ExpandEnvironmentStrings(pchar(szInput),@Result[1],length(Result))-1); //-1 um abschließendes #0 zu verwerfen
  end;

ExpandEnvStr('%Appdata%')


Ist das auch ein sicherer Weg, oder lassen sich solche Umgebungsvariablen "verfälschen", sodaß diese Ermittlung unsicher ist?

Danke und Gruß

Delphi-Laie

Edit: Funktion ergänzt, weil sie nicht mit Delphi mitgeliefert wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 Uhr.
Seite 32 von 33   « Erste     22303132 33      

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