AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzeichni
Tutorial durchsuchen
Ansicht
Themen-Optionen

Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzeichni

Ein Tutorial von Luckie · begonnen am 22. Sep 2005 · letzter Beitrag vom 1. Jan 2007
Antwort Antwort
Seite 5 von 9   « Erste     345 67     Letzte »    
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 22. Sep 2005, 18:19
Zitat von mschaefer:
Tja klingt gut, aber die Tücke liegt nahe. Wenn ich ein Programm habe, welches Standartmäßig für alle User laufen soll, und die Daten liegen im speziellen Userverzeichnis, dann kann ich das Ding ja jedesmal installieren -> Monotonie ind er Südsee...
Erstens musst du das Ding nicht jedesmal installieren, nur die Anwenderdaten sind pro Anwender verschieden. Und sollten alle Benutzer des Rechners die gleichen Daten benötigen, gibt es immer noch das "All Users"-Verzeichnis.
Und nebenbei, welches Programm läuft denn wie eine Standart
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#2

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 22. Sep 2005, 18:42
Also mich wundert, dass es so viele Einwände gibt...
Seit ich standardmäßig ein Benutzerkonto ohne Administratorrechte verwende merke ich, dass viele Software so einfach nicht funktioniert. Vorher hatte ich Winamp für ein gutes Stück Software gehalten. Ich musste feststellen, dass es ohne Adminrechte aus dem von Luckie genannten Grund schlichtweg nicht funktioniert. Es friert einfach ein. Das ist doch wohl inakzeptabel! Sicherlich gibt es Workarounds mit friemelei, aber soweit kommts noch, dass ich um ein Programm zu nutzen mein schönes System kaputtfriemlele. Ich finde es sollte eben nicht jedem Programmierer überlassen werden, wie er das Problem handhabt. Der %HOMEDIR% Ordner ist dafür vorgesehen, der Programme Ordner ist nicht dafür vorgesehen, basta, auch wenn es Argumente dagegen gibt. Als Benutzer ohne Adminrechte ärgere ich mich immer wieder darüber, einige Programme nicht nutzen zu können.
Das Argument, dass es praktisch ist, kleinere Tools in einem Ordner zu haben kann ich nachvollziehen. Dann muss es dieses entsprechende Programm aber auch als Archiv ohne Installer zum Download geben, da nur so klar ersichtig ist, was wo landet. 7zip ist da ein schönes Beispiel. Oder MirandaIM, wobei das auch in das %HOMEDIR% schreibt wenn mehrere Benutzer es nutzen wollen.

Viele Grüße,
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 22. Sep 2005, 19:50
Hi,

also gründsätzlich bin ich auch dafür, dass Programme ihre Daten im Anwendungsaten-Ordner sicher sollten, obwohl ich auch mit solchen Rechten arbeite, die ein Schreiben im Programmverzeichnis erlauben.
Das machen heutzutage noch erstaunlich viele Programme so (einige meiner eigenen mit eingeschlossen), eben auch aus den genannten Gründen. Wenn es sich um ein kleines Tool handelt, kann ich da wohl noch drüber hinwegsehen, bei größeren Programmen erwarte ich einen ordnungemäßen Umgang mit einem Multi-User Betriebssystem.
Die Idee, wie die eingeschränkten Rechte bei Vista umgesetzt werden sollen, sind bei gute Implementierung auch nicht schlecht: Zugriffe auf den Windows Ordner zB werden auf den User-Ordner umgeleitet. Wie gut das jedoch im Endeffekt funktioniert, muss sich noch zeigen.

Just my 2 cents.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 22. Sep 2005, 20:01
Wenn jedes Programm seine Daten im HomeDir speichert, bringt das aber auch die Gefahr mit sich, dass eventuell Konflikte zu bestehenden Datein aufkommen können. Speicher ich hingegen meine Dateien im Installationsverzeichnis, ist dies kein Problem.

Ich handhabe es zur Zeit so. Mit den nötigen Rechten werden meine Dateien, eigentlich ausschliesslich INI Dateien, im Intallationsverzeichnis gesichert. Schlägt dies fehl, so nehme ich auch das Heimverz. Naja, ist aber sicherlich auch nicht optimal. Besser wäre sicher die Registry.

Aber da spielt sich mir doch noch ne neue Frage auf. User spezifische Daten könnte man ja problemlos im HKCU Ast der Registry unterbringen. Aber was ist mit Rechnerspezifischen Daten. Denn der HCLM Ast ist prinzipiell für normale User zum Schreiben gesperrt, ebenso c:\Dokuemente und Einstellungen\All Users. Also wohin mit den Daten, damit ich sicher sein kann, dass das Schreiben auch funktioniert.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#5

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 22. Sep 2005, 21:54
Zitat von Jelly:
Wenn jedes Programm seine Daten im HomeDir speichert, bringt das aber auch die Gefahr mit sich, dass eventuell Konflikte zu bestehenden Datein aufkommen können. Speicher ich hingegen meine Dateien im Installationsverzeichnis, ist dies kein Problem.
Hier geht es um benutzerspezifische Daten. Das Installationsverzeichnis ist praktisch für globale Einstellungen (die üblicherweise von Hauptbenuzern und Administratoren vorgenommen werden) - dort haben aber die Daten des Benutzers nichts zu suchen. Es geht also eher darum die Art der Konfigurationsmöglichkeiten sauber in benutzerbezogen und global zu unterscheiden und am jeweils passenden Ort zu speichern.
Falls ein Programm grundsätzlich nur im eigenen Verzeichnis arbeiten möchte, impliziert man, dass jeder Benutzer eine eigene Kopie installieren müsste um damit arbeiten können (es gibt genug Programme die nicht auf Mehrbenutzersysteme ausgelegt sind - beste Beispiel OpenOffice (und das ist nicht gerade 'klein')).
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 22. Sep 2005, 21:57
Naja, auch rechnerspezifische Daten müssen manchmal von normalen Usern gespeichert werden. Wie handhabt man denn das am Besten.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#7

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 22. Sep 2005, 22:02
Zitat von Jelly:
Naja, auch rechnerspezifische Daten müssen manchmal von normalen Usern gespeichert werden. Wie handhabt man denn das am Besten.
Über die Rechteverwaltung des Betriebsystems (sprich: ein Hauptbenutzer/Administrator muss entscheiden, dass normale Benutzer die Datei bearbeiten dürfen).
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 22. Sep 2005, 23:43
Hi!

Hoffe, es wurde noch nicht erwähnt:

Ich kopiere (man beachte: NICHT installiere) also ein Programm. Dann geh ich davon aus, dass ich es los bin, wenn ich den Ordner wieder lösche - zumal es ja auch kein uninstall gibt...
Allerdings ruhen fröhlich Daten im HomeDir und müllen es mir zu.

Was ist damit?

Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#9

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 23. Sep 2005, 03:39
Hallo!

Zitat von fkerber:
Ich kopiere (man beachte: NICHT installiere) also ein Programm. Dann geh ich davon aus, dass ich es los bin, wenn ich den Ordner wieder lösche - zumal es ja auch kein uninstall gibt...
Allerdings ruhen fröhlich Daten im HomeDir und müllen es mir zu.
Tjaaa - das passiert normalerweise auch mit installierter Software - oder hangeln die sich beim Deinstallieren durch alle Homedirs und werfen ihre Dateien raus? Dasselbe passiert mit der Registry - ist da HKCU der übrigen User überhaupt zugänglich?

Im Gegensatz zu Registry-Einträgen sind Dateien im Homedir allerdings harmlos - die paar Byte (bei NTFS sind die Dateien klein) spielen ja bei Plattengrößen von über 100GByte kaum noch eine Rolle. Außerdem verlangsamen sie das System nicht (im Gegensatz zu Registry-Müll).

Allerdings wurde ein Aspekt bisher nicht angesprochen:
Zum Installieren von Programmen braucht man Administrator-Rechte, denn der Deinstallations-Eintrag muß ja in der Registry unter HKLM stehen. Zum Kopieren eines nicht installationspflichtigen Programmes braucht man keine Administrator-Rechte, denn irgendwo ("Eigene Dateien") hat jeder Benutzer Schreibrechte und darf normalerweise auch Ordner anlegen. Dann hat der das Programm kopierende eingeschränkte Nutzer auch Schreibrechte im Programm-Ordner (er hat ihn ja selber angelegt).

Nebenbei: Ich rege mich immer wahnsinnig auf, wenn beim Installieren das nach "C:\Programme" gehen soll. Bei mir heißt der Programm-Ordner "C:\SOFT" - und ich sortiere darin nochmal nach gekauften, Freeware, eigenen Programmen etc.

Und dann war da noch ein Security-Analyser aus zweifelhafter Quelle (irgendwas mit Winzig und Weich ). Das Ding läuft prinzipbedingt nur mit Administrator-Rechten, trägt sich aber in Startmenü und Desktop unter "All Users" ein

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
Die 6 Probleme des Programmierers: 1. dauert das länger, als man 2. glaubt, 3. geht das nicht so, wie man sich das 4. schlau überlegt hat, und 5. sitzt der Fehler da, wo man ihn 6. zuletzt sucht
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.259 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Neuer Artikel bei mir: %HOMEDIR% - das unbekannte Verzei

  Alt 23. Sep 2005, 07:39
Hai ihr,

um auch mal einen Beitrag zu leisen

Ich mache das ganz einfach so:
Wenn es im Verzeichniss der Exe eine INI für das Programm gibt und in dieser in einem bestimmten Abschnitt ein Pfad zu einem Datenverzeichniss steht wird dieser verwendet. Wenn dieser Eintrag nicht vorhanden (oder leer) ist wird das APPDIR verwendet.
Dadurch hat der Anwender die Möglichkeit zu bestimmen ob die Daten an einer von ihm bestimmten stelle stehen sollen.

Den Pfad zu dem Datenverzeichniss speichere ich dann einfach in einer globalen Variabel.
Delphi-Quellcode:
const
  Programmname = 'Test';

var
  AppDir: string;

procedure TDataModule1.ProgrammInit;
var
  IniFile: string;
  myIni: TIniFile;
begin
  IniFile := ChangeFileExt(ParamStr(0), '.ini'); // Ininame = Exename
  AppDir := '';
  myIni := TIniFile.Create(IniFile);
  try
    AppDir := myIni.ReadString('programm', 'appdir', '');
  finally
    myIni.Free;
  end;
  if (AppDir = '') then
  begin
    AppDir := GetShellFolder(CSIDL_APPDATA);
    AppDir := AppDir + 'Sharky\' + Programmname;
  end;
  AppDir := IncludeTrailingBackslash(AppDir);
end;

procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
  ProgrammIni;
end;
Die Ini:
Code:
[programm]
;datadir = c:\test
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 9   « Erste     345 67     Letzte »    


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 13:32 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