APPDATA / eigenes Verzeichnis je User [ERLEDIGT]

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

APPDATA / eigenes Verzeichnis je User [ERLEDIGT]

Beitrag von Koverhage »

Wo ist die beste Möglichkeit Dateien je User abzulegen ?
Hintergrund:
Immer mehr Kunden nutzen eine Cloud (beim TS ist es glaube ich ähnlich) und das Laufwerk C ist für alle gleich.
Bisher habe ich es so, dass der Nutzer seine Datei mit den eigenen Formulareinstellungen / Drucker in "seinem" Ordner auf Laufwerk C hat.
Die funktioniert hier nicht mehr und ich muss einen Windows konformen Weg gehen.
Was würdet Ihr empfehlen ?
Zuletzt geändert von Koverhage am Di, 19. Jan 2021 9:44, insgesamt 2-mal geändert.
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: APPDATA / eigenes Verezcihnis je User

Beitrag von Tom »

Hallo, Klaus.

Das, was Du beschreibst, trifft nur zu, wenn alle mit derselben Benutzeranmeldung arbeiten, was aus vielen Gründen eher nicht zu empfehlen ist. AppData ist ein Unterverzeichnis des Benutzerverzeichnisses. Wenn es unumgänglich ist, dass alle mit denselben Windows-Benutzerdaten auf derselben Maschine arbeiten, gibt es wahrscheinlich trotzdem innerhalb der Anwendung unterschiedliche Anmeldungen, die dann genutzt werden könnten, um z.B. im AppData\Roaming/Local\MeineApp-Verzeichnis zusätzlich nach Initialen zu verzweigen. Das machen wir in solchen Situationen, die es vor allem im Terminal Server-Kontext geben kann (vor allem bei Gast-Zugängen), dann auch in der Registry - die Gruppen haben in diesem Fall Untergruppen. Das ist zwar etwas schwierig im Blick zu behalten, vor allem, wenn es um ggf. verwaiste Daten geht, aber handlicher als die Alternativen.
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: APPDATA / eigenes Verzeichnis je User

Beitrag von Koverhage »

Vielleicht habe ich mich falsch ausgedrückt.
War jetzt gerade nochmals auf einigen Rechner
User 1
Eingabeaufforderung
Users\user.1
APPDATA
c:\Users\user.1\AppData\Roaming/

User 2
Eingabeaufforderung
Users\user.2
APPDATA
c:\Users\user.2\AppData\Roaming/
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: APPDATA / eigenes Verzeichnis je User

Beitrag von Tom »

Und was möchtest Du erreichen?

Windows hat diverse API-Funktionen, um Ordnereinstellungen abzurufen, etwa "GetTempPath(A)", um den benutzerbezogenen Temp-Pfad abzurufen (in aller Regel " C:\Users\<User>\AppData\Local\Temp\"), und die für den AppData-Roaming-Ordner sollte m.E. "GetAppContainerFolderPath(A)" (wie GetTempPath in KERNEL32.DLL) sein. Allerdings musst Du Dich da um einiges selbst kümmern, denn Windows legt das nicht einfach für jede Anwendung an, die es auf dem Rechner gibt.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: APPDATA / eigenes Verzeichnis je User

Beitrag von Jan »

Klaus,

wenn es nur um temporäre Daten geht mach ich das mit getEnv("TEMP"). Das schreibt sauber in den von Tom angesprochenen User-Temp-Ordner.

Stellt sich mir nur die Frage ob daß das ist was Du willst. Für mich klang das eher als wolltest Du was in das User-Doc-Verzeichnis legen, oder irgend was in der Richtung.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: APPDATA / eigenes Verzeichnis je User

Beitrag von Koverhage »

@Tom
Was ich erreichen möchte:
Jeder Anwender im Netz kann seine eigenen Druckereinstellungen haben, da es ja durchaus vorkommen kann, das der Anwender bestimmte Formulare (Briefe, etc)
auf seinem Arbeitsplatzdrucker anstatt auf einem Netzwerkdrucker drucken möchte.
@Jan
Temp ist sehr ungünstig, da sträuben sich mir die Haare.
Für mich bedeutet TEMP ein temporärer Ordner (leider wird der von Windows und Sonstiges zugemüllt und nicht mehr gelöscht wenn die Dateien und Ordner nicht mehr benötigt werden)
Die (Stamm)Daten sollen ja bleiben, deswegen mache ich das jetzt wie folgt.

Code: Alles auswählen

static function getRoamingDir
Local cRetCode := "", ;
      cBenutzerDir := getenv("appdata")+"\HKABR"

IF Fexists("c:\spool\drform.dbf")
   makedir(cBenutzerDir)
   FileMove("c:\spool\drform.dbf",cBenutzerDir)
   IF Fexists("c:\spool\drform.cdx")
      FileMove("c:\spool\drform.cdx",cBenutzerDir)
   ENDIF
   IF Fexists("c:\spool\drform.str")
      FileMove("c:\spool\drform.str",cBenutzerDir)
   ENDIF
ENDIF   
cRetCode := iif( Fexists(cBenutzerDir+"\drform.dbf"),cBenutzerDir+"\",cAppData)
Gruß
Klaus
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: APPDATA / eigenes Verzeichnis je User

Beitrag von ramses »

Koverhage hat geschrieben: Di, 19. Jan 2021 9:43 Was ich erreichen möchte:
Jeder Anwender im Netz kann seine eigenen Druckereinstellungen haben, da es ja durchaus vorkommen kann, das der Anwender bestimmte Formulare (Briefe, etc)
Hallo Klaus

ich lege die alle in einer Datenbank ab. War bis jetzt am einfachsten.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: APPDATA / eigenes Verzeichnis je User [ERLEDIGT]

Beitrag von Koverhage »

Hallo Carlo,
bisher war es für mich am einfachsten wenn jeder Arbeitsplatz auf Laufwerk C seinen eigenen Ordner mit der Datei hat.
Da habe ich bis auf den Pfad zu prüfen nichts anderes machen müssen.
Gruß
Klaus
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: APPDATA / eigenes Verzeichnis je User [ERLEDIGT]

Beitrag von Wolfgang Ciriack »

Du könntest für jeden Benutzer ein eigenes Verzeichnis anlegen, z.B. mit
verz := "C:\Programm\" + GetEnv("CLIENTNAME") + "_" + upper(GetEnv("USERNAME")
Viele Grüße
Wolfgang
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: APPDATA / eigenes Verzeichnis je User [ERLEDIGT]

Beitrag von Tom »

Genau zu diesem Zweck sind ja die AppData-Verzeichnisse gedacht, Wolfgang. Und dadurch, dass sie je nach Windows-Anmeldung in einem anderen Kontext liegen, sind sie eigentlich immer automatisch benutzerbezogen. Es sei denn, dieselbe Anmeldung wird von verschiedenen Leuten verwendet.
Herzlich,
Tom
Antworten