AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Keine Rechte im %HOMEDIR%/Anwendungsdaten ??
Thema durchsuchen
Ansicht
Themen-Optionen

Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

Ein Thema von gmc616 · begonnen am 31. Mai 2006 · letzter Beitrag vom 1. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#1

Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 15:09
Hallo,

ich lese mit Hilfe von Luckie's Funktion (aus %HOMEDIR% - das unbekannte Verzeichnis)
sAppDataDir := GetShellFolder (CSIDL_APPDATA); das Anwendungsdaten-Verzeichnis aus.
Das klappt wunderbar.
Nun möchte ich in diesem Verzeichnis ein Unterverzeichnis für meine Anwendung erstellen.ForceDirectories(sAppDataDir + '\MyAPP'); Aber auf verschiedenen Rechnern wird kein Verzeichnis angelegt. Warum?
Es kommt keine Schutzverletzung oder Fehlermeldung.

In einem (dem neusten) Fall handelt es sich um einen Win2k (SP weiß ich nicht), mit eingeschränkten Benutzer-Account.
Das dürfte aber doch egal sein, da das %HOMEDIR% dem Benutzer gehört und er dort machen kann was er will, oder nicht?
Oder hat der Benutzer in "Anwendungsdaten" die Rechte nicht mehr?

Könnte es an einem fehlenden Service Pack liegen, oder gibs es andere Gründe dafür?

Habt ihr Ideen?

Gruß
gmc
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 15:13
Hi,
ich kenne jetzt Luckie's Arbeit nicht und habe gerade auch keine Lust sie mir anzuschauen, aber das lässt sich doch alles leicht testen. Am einfachsten mal schauen ob du die Rechte hast, in dem du per Hand (ja das geht) einen Ordner anlegst (oder einfach in die Sicherheitseinstellungen schaust).

Das nächste wäre, was liefert dir sAppDataDir := GetShellFolder (CSIDL_APPDATA); genau? Wenn es dir einen Pfad liefert, so hängt hinten schon ein '\' dran, wenn der doppelt ist, wäre es eine einfache Erklärung. Ansonsten empfiehlt sich, einfach mal zu schauen, wie der Pfad aussieht
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#3

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 16:02
evtl nutzt dir folgender code:

Delphi-Quellcode:
function getVar(name:string):string;
var
 Value : PChar;
begin
   Value:= StrAlloc(255);
   GetEnvironmentVariable(PChar(Name), Value, 255);
   result := StrPas(Value);
   StrDispose(Value);
end;

s := getVar('%APPDATA%');
HTH Frank
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 16:25
Hmm ...
Also GetShellFolder liefert: sAppDataDir = 'C:\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten' Ohne '\' am Ende. Werde aber trotzdem eine Prüfung auf '\' am Ende einbauen. (guter Tipp )

Somit wäre mein Pfad mit sAppDataDir + '\MyAPP' korrekt.

Danke _frank_ für den Code , aber das Ermitteln des Verzeichnis funktioniert ja korrekt.

Die Rechte kann ich im Moment nicht prüfen, weil das Programm von einem Kollegen drausen bei einem Kunden zum Einsatz gebracht werden sollte.
Ich sitze also nicht vor dem Problem-PC und mein Kollege ist inzwischen weiter gezogen.
Und alles was ich habe, ist ein Screenshot, wo drauf steht, das eine Datei 'C:\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten\MyAPP\dum p.dat' nicht geöffnen werden kann.
Aber auch hier ist der sAppDataDir korrekt. Aber das 'MyAPP'-Verzeichnis existiert nicht (laut meinem Kollegen)
Klar könnt ich prüfen, ob meine Datei existiert, das hilft mir aber nicht weiter.

Das Anwendungsdaten-Verzeichnis auf meinem Entwicklungs-PC (XP-Prof) ist versteckt (schätze das ist normal), und "halb" schreibgeschützt, also kein Haken sondern ein Quadrat drin im Eigenschaften-Dialog.
Allerdings stehen alle Berechtigungen im Sicherheitsreiter für alle Benutzer (nicht "Alle Benutzer") auf Vollzugriff.
Deshalb frage ich mich, ob eingeschränkte Benutzeraccounts evtl. keinen (Schreib-)Zugriff auf die Anwendungsdaten haben.

Vieleicht kommt mir aber auch auf dem Problem-PC eine Sicherheitsrichtlinie der Domain dazwischen.
Wäre sowas möglich?

ratlose Grüße
gmc
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#5

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 16:59
Zitat von gmc616:
Hmm ...
Also GetShellFolder liefert: sAppDataDir = 'C:\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten' Ohne '\' am Ende. Werde aber trotzdem eine Prüfung auf '\' am Ende einbauen. (guter Tipp )

Somit wäre mein Pfad mit sAppDataDir + '\MyAPP' korrekt.

Danke _frank_ für den Code , aber das Ermitteln des Verzeichnis funktioniert ja korrekt.
Mach das lieber mit
sAppDataDir = IncludeTrailingPathDelimiter(GetShellFolder (CSIDL_APPDATA))+'MyApp'; Dann kannst du nichts falsch machen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 17:34
Im Grunde wäre es auch nicht so schlimm ... wie ich mitbekommen hab, dann irgnoriert ja Windows viele Fehler und mehrere "\" hintereinander machen nichts aus, jedenfalls lief das Programm ohne Probleme.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 18:08
Auf welche Art und Weise legst du das Verzeichnis an (Quelltext)? Eventuell existiert der übergeordnete Ordner nicht so das ForceDirectories bereits hilft.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 18:29
Hi SirThornberry,

ich nutze bereits ForceDirectories, wie du aus meinem ersten Post entnehmen kannst

Also für mich ist das ganze Rätsel.

Mein TestCode sieht mittlerweile so aus
Delphi-Quellcode:
sAppDataDir := fktGetShellFolder (CSIDL_APPDATA);
sAppDataDir := IncludeTrailingPathDelimiter (sAppDataDir);
sAppDataDir := sAppDataDir + 'MyAPP';

if not (DirectoryExists(sAppDataDir )) then
  ForceDirectories(sAppDataDir );
  
if not (DirectoryExists(sAppDataDir )) then
  ShowMessage('Kein Verzeichnis angelegt');
nun ratet mal welche Nachricht kommt.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 18:40
Ich habe deinen Code mal etwas optimiert.
Delphi-Quellcode:
sAppDataDir := IncludeTrailingPathDelimiter(fktGetShellFolder(CSIDL_APPDATA)) + 'MyAPP';
ForceDirectories(sAppDataDir);
 
if not DirectoryExists(sAppDataDir) then
  ShowMessageFmt('Verzeichnis <%s> konnte nicht angelegt werden!', [sAppDataDir]);
Wichtig ist vorallem eine aussagekräftige Fehlermeldung!!!!
Wenn diese Fehlermeldung erscheint, solltest du eine DOS-Box öffnen
und folgendes eingeben:
Code:
C:\> md komplettesverzeichnisausderfehlermeldung
Sollte dann das Verzeichnis immer noch nicht vorhanden sein, hast du ein Rechteproblem.
Sollte das Verzeichnis dann vorhanden sein, hat ForceDirectories ein Problem.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Keine Rechte im %HOMEDIR%/Anwendungsdaten ??

  Alt 31. Mai 2006, 19:06
Gibt es nicht zwei ForceDirectories, eins in Windows (oder ShlObj oder was auch immer) und eins in FileCtrl? Das in FileCtrl ist deprecated....
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:52 Uhr.
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