AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Appdata, Roaming, etc.

Ein Thema von freimatz · begonnen am 4. Apr 2020 · letzter Beitrag vom 25. Apr 2020
Antwort Antwort
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Appdata, Roaming, etc.

  Alt 4. Apr 2020, 17:45
Zu 99% sind es Einzelplätze, zumeist privat. Da gibt es keinen Admin. Da passt Dein letzter Satz gut dazu. LocalAppData kann ich mir dann sparen. Danke.
Ob und dass ein Benutzer Schreibrechte hat ist mir relativ egal. Im Supoprtall könnte das nicht schlecht sein.

Den ersten Satz finde ich jedoch nicht "ganz einfach". Was meinst Du mit "Das der Nutzer nicht schreiben muss". Der Anwender schreibt doch selber nie etwas, sondern das Programm. Meinst Du damit sowas wie "Datei|Speichern unter". Wo käme eine Adressdatenbank hin? Wo eine Textdatei, die der Anwender mit dem Programm editieren kann?
Könnte man allgemein sagen, dass alles was man sichern sollte käme in AppData und alle Dateien die das Programm wieder herstellten könnte (wie z.B. Indexdateien) kämen in ProgramData?
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#2

AW: Appdata, Roaming, etc.

  Alt 4. Apr 2020, 21:13
Ob und dass ein Benutzer Schreibrechte hat ist mir relativ egal.
Nicht doch. Genau diese Ansicht sorgt immer wieder dafür, dass Programme im Nutzerprofil landen, wo sie absolut nichts zu suchen haben. Oder ähnlich schlimm, dass Vollzugriff für "Jeder" vom Setup gesetzt wird. So nach dem Motto: "Dann geht's in jedem Fall". Die meisten Admins würden solchen Software-Herstellern am liebsten den Hals rumdrehen, und die Security-Spezialisten übrigens ebenfalls, DLL Sideloading bzw. DLL Hijacking sei da nur als Beispiel genannt.

Zitat:
Den ersten Satz finde ich jedoch nicht "ganz einfach". Was meinst Du mit "Das der Nutzer nicht schreiben muss". Der Anwender schreibt doch selber nie etwas, sondern das Programm.
Ob ein Programm diese Daten schreibt oder der Nutzer an sich, spielt doch keine Rolle. Jedes Programm läuft mit bestimmten Rechten, standardmäßig sind das die des Nutzers. Wenn ein Programm für bestimmte Dinge mehr Rechte braucht, sollte es diese beim Nutzer bzw. beim OS (z.B. per UAC) anfordern.

Zitat:
Wo käme eine Adressdatenbank hin? Wo eine Textdatei, die der Anwender mit dem Programm editieren kann?
Bei der DB kommt es darauf an, ob diese von mehreren Benutzern ver-/bearbeitet werden soll. Wenn ja, dann irgendwo im %Public%, wenn nicht, dann im %AppData% oder vom Benutzer entscheiden lassen.

Zitat:
Könnte man allgemein sagen, dass alles was man sichern sollte käme in AppData und alle Dateien die das Programm wieder herstellten könnte (wie z.B. Indexdateien) kämen in ProgramData?
Muss der Index vom Nutzer (immer wieder) geschrieben werden können? Wenn nicht, dann gehört sowas eher ins Programmverzeichnis.

Ach, noch eine Sache: Verzeichnisse wie %Public%\Documents und %UserProfile%\Documents sind für den Nutzer da, nicht für Daten, die von Programmen abgelegt werden (dafür gibt's %AppData% und %ProgramData%). Mich nervt es immer wieder, wenn ich zwischen den von mir angelegten Verzeichnissen welche sehe, die durch irgendeine Software angelegt wurden, also ohne dass ich das bewusst getan hätte. Mir ist klar, warum Software-Hersteller meinen, das sei eine gute Idee (einfache Auffindbarkeit für den Nutzer, Backup-Möglichkeiten), aber es ist keine wirklich gute Idee.

Grüße
Dalai
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Appdata, Roaming, etc.

  Alt 16. Apr 2020, 16:25
Hallo zusammen,
Danke für alle Antworten. In den letzten Tagen habe ich mich mehr Gedanken gemacht welche Daten es überhaupt gibt in meinem Programm. Über zehn verschiedene Arten habe ich bislang identifiziert.

Schwierig finde ich herauszufinden was "für alle Nutzer relevant" ist und was für den jeweiligen Nutzer spezifisch ist. Ich kenne keinen Anwender meines Programmes, der sich ein PC mit jemand anderen teilt. (Ausgenommen ich selber und meine Frau. Auf dem LapTop habe ich das Programm installiert, sie will jedoch keine eigenen Einstellungen.)

Eine neue Frage ist mir aufgetaucht. In etlichen Setups gab es früher die Option "Für alle Benutzer" oder so ähnlich. Was hat das damit auf sich? Wird dann statt %AppData% dann alles in %AllUsersProfile% (oder %ProgramData%) gespeichert? In letzter Zeit habe ich diese nicht mehr gesehen. Ist die nicht mehr wichtig?

@Bernhard: Habe leider in der MSDN noch keine offzielle Doku gefunden geschweige denn eine Empfehlung gefunden. Das Beste war noch eine Doku zu .NET

@Dalai: bin etwas verwirrt. Du schlägst "%Public%" vor (aber nicht %Public%\Documents). Ich komme da bei mir bei in "C:\Users\Public" raus. In %Public% selber ist bei mir fast nichts drin. Lediglich "CyberLink" hat da was reingeschrieben. In %AppData% dagegen habe ich 74 Ordner.

Und wegen %UserProfile%\Documents - hm, ich bin da auch so einer, muss ich noch prüfen. Ich versuche das dann auch gleich besser zu machen.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.118 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Appdata, Roaming, etc.

  Alt 16. Apr 2020, 16:55
Hallo zusammen,
Danke für alle Antworten. In den letzten Tagen habe ich mich mehr Gedanken gemacht welche Daten es überhaupt gibt in meinem Programm. Über zehn verschiedene Arten habe ich bislang identifiziert.

Schwierig finde ich herauszufinden was "für alle Nutzer relevant" ist und was für den jeweiligen Nutzer spezifisch ist. Ich kenne keinen Anwender meines Programmes, der sich ein PC mit jemand anderen teilt. (Ausgenommen ich selber und meine Frau. Auf dem LapTop habe ich das Programm installiert, sie will jedoch keine eigenen Einstellungen.)
In aller Regel haben Programme keine "für alle Nutzer relevanten" Einstellungen. Mit persönlichen Vorlieben hat das nichts zu tun eher mit administrativen Notwendigkeiten, z.B. allen Benutzern ein Plugin oder ein Sprachpaket installieren können.

Schau dir doch einfach Windows an. Welche Einstellungen können Normalos ändern, was dann alle anderen betrifft? Persönlich fallen mir nur einige Punkte der Eigenschaften von Anzeige ein sowie die Einrichtung von Netzwerkdruckern.

In etlichen Setups gab es früher die Option "Für alle Benutzer" oder so ähnlich.
Da geht es um Verknüpfungen. Sollen die im Startmenü/Desktop von %USERNAME% oder von Öffentlich installiert werden?
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#5

AW: Appdata, Roaming, etc.

  Alt 16. Apr 2020, 18:40
In %Public% selber ist bei mir fast nichts drin. Lediglich "CyberLink" hat da was reingeschrieben.
Naja, jedes Windows hat dort mindestens Documents, Downloads, Pictures, Videos usw.

Zitat:
In %AppData% dagegen habe ich 74 Ordner.
Klar, ist ja nutzerspezifisch. Schau mal unter dem nutzerunabhängigen %ProgramData%, dort dürfte weit weniger liegen.

Zitat:
Und wegen %UserProfile%\Documents - hm, ich bin da auch so einer, muss ich noch prüfen. Ich versuche das dann auch gleich besser zu machen.
Nicht, dass ich falsch verstanden werde: Für Dateien, die per Speichern-Dialog abgelegt werden sollen, bietet sich %UserProfile%\Documents (als Vorschlag) durchaus an, aber nicht für Dateien, mit denen der Nutzer nichts direkt machen soll. Denn man sollte berücksichtigen, dass sich %UserProfile%\Documents mit Bordmitteln verschieben lässt (Registerkarte "Pfad" in den Eigenschaften), und normalerweise macht der Nutzer das, um die eigenen Daten auf andere Partitionen/Platten zu packen (nicht die Anwendungsdaten von Programmen).

Grüße
Dalai
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Appdata, Roaming, etc.

  Alt 17. Apr 2020, 07:20
Dalai, sorry das verstehe ich immer noch nicht richtig oder es leuchtet mir nicht ein.
Ja, bei mir hat es in %Public% auch Documents, Downloads, Pictures, Videos und so. Aber die Daten meines Programmes passen in keine dieser Kategorien.
In %ProgramData% habe ich 70 Ordner, von Adobe bis XamarinAndroidPlayer. Wenn ich mich dazu gesellen soll verstehe ich das. Aber wieso soll ich etwas in %Public% speichern (so habe ich dich zumindest verstanden) wenn es doch auch sonst fast keiner tut.
Warum sollte z.b. eine DB, die von mehreren Benutzern bearbeitet wird, in %Public% und nicht in %ProgramData%.
(Wegen den %UserProfile%\Documents, ich meine das ist bei mir schon so, dass es nur ein Vorschlag für die eigenen Dateien des Anwender sind.)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.118 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Appdata, Roaming, etc.

  Alt 17. Apr 2020, 08:01
ProgramData ist das %Appdata% von Öffentlich, sprich für Sachen, die in keine der Kategorien in Eigene Dokumente passen.

Und wie ich schon schrieb, die allermeisten Programme haben keine für alle Nutzer relevanten Dinge, die sie da reinschreiben können.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Appdata, Roaming, etc.

  Alt 17. Apr 2020, 08:47
Danke ist mir inzwischen klar. Bei meinem Programm dürfte es schon Daten geben die für alle Nutzer relvant sind. Du schriebst von Plugins. So was gibt es auch bei mir. Wenn einer ein neues Plugin einbindet oder ein vorhandenes updated, soll es für alle User gelten (so zu 99% der Konsens.) Das käme dann m.E. in %ProgramData%.

Unklar ist mir nach wie vor die Bedeutung von %Public% (und wo es eine offizielle Doku gibt).
Ich vermute, dass in meinem Fall ich mit %AppData% und %ProgramData% auskomme und %Public% nicht benötige.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#9

AW: Appdata, Roaming, etc.

  Alt 17. Apr 2020, 17:20
Ja, bei mir hat es in %Public% auch Documents, Downloads, Pictures, Videos und so. Aber die Daten meines Programmes passen in keine dieser Kategorien.
Das ist ja in Ordnung. Dann speichere die Daten nicht dort, hab ich ja auch nicht gesagt, dass du das tun solltest . Eher im Gegenteil.

Zitat:
Wenn ich mich dazu gesellen soll verstehe ich das. Aber wieso soll ich etwas in %Public% speichern (so habe ich dich zumindest verstanden) wenn es doch auch sonst fast keiner tut.
Da hast du mich missverstanden, oder ich mich unklar ausgedrückt. Primär bezog ich mich auf die Unterverzeichnisse Documents, Downloads usw., die eben vom Nutzer befüllt werden sollen und nicht von Programmen, denn für letztere gibt es bereits ausreichend Ablageorte (wie eben %ProgramData% und %AppData%).

Grüße
Dalai
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Appdata, Roaming, etc.

  Alt 18. Apr 2020, 10:46
Ah, ok, Danke.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.
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