![]() |
AW: im Programmverzeichnis Datei ändern?
@zeras
Ein ähnliches Problem habe ich auch gerade (aber wirklich nur ähnlich), und muß zugeben für mich noch keine zufriedenstellende Lösung gefunden zu haben. Denn ich stehe vor dem Problem Daten zu einem Programm mitzuliefern, ohne die das Programm eigentlich nutzlos ist (somit muß es jedem Konto zur Verfügung stehen), auf der anderen Seite sollen die Nutzer die Daten individuell anpassen können. Und mit diesen Anforderungen stehe ich eigentlich vor einem Ding der Unmöglichkeit. Denn Windows bietet die Möglichkeit nicht, zumindest nicht ohne weiteres. Denn Programme Verzeichnis bietet keine Schreibrechte, Anwendungsdatenordner ist nur für den Nutzer zugänglich, und gemeinsame Dateien hört sich zwar vielversprächend an, ist aber nur ein Ordner den jeder sehen kann, aber nicht in dem jeder Schreibrechte hat. Um auf den Punkt zu kommen: ich hab mir paar Wochen den Kopf zermartert, aber es gibt hier keine Lösung. Das einzige was man machen kann ist eine Pseudolösung, die die Nutzer akzeptieren müssen. |
AW: im Programmverzeichnis Datei ändern?
Zitat:
Im Moment frage ich im Programmverzeichnis die Daten ab, die bei der Installation mitkommen und dann noch im Userpfad. Geschrieben wird aber alles dann in den Userpfad. Mit der Registry wollte ich nicht anfangen, da ich kein Freund davon bin. Je mehr Programme dort reinschreiben, umso langsamer wird das System. OK, nun habe ich eine SSD und Win7 und das ist meines Erachtens sehr schnell, aber was ist in einem Jahr? Dann habe ich noch weitere Programme installiert und das System läuft dann wieder langsamer. Aber das ist Philosophisache. |
AW: im Programmverzeichnis Datei ändern?
Zitat:
![]() Zitat:
|
AW: im Programmverzeichnis Datei ändern?
Zitat:
|
AW: im Programmverzeichnis Datei ändern?
Im Notfall kann man sogar eigene Registryzweige erstellen, welche in einer externen Datei liegen.
Und da die Registry nie komplett geladen ist, sondern sich nur grade verwendete Teile in einer Cache liegen. Das Dateisystem wird ja auch nicht urplötzlich langsamer, nur weil in irgendeinem Unterverzeichnis zuviele Dateien befinden. Die Registry ist eine wichtige Datenablage, da kann man schon davon ausgehn, daß Microsoft dort ein bissl Arbeit in die Optimierung steckt. ![]() Die Registry besteht sowieso schon aus mehreren Teilen und einige Teile existieren noch nichtmal in Echt. HKEY_CLASSES_ROOT existiert garnicht. Das ist ein zusammengemischter Unterpfad aus HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE. HKEY_CURRENT_CONFIG und HKEY_CURRENT_USER sind auch nur benutzerabhängige Unterpfade aus HKEY_USERS. ... |
AW: im Programmverzeichnis Datei ändern?
@Popov
Ich weiß zwar nicht um welche Daten es sich handelt, aber ich habe so was teilweise mit Ini-Dateien. Die Lösung sieht da aber recht einfach aus. Die Ini-Datei aus dem Programm-Verzeichnis Und dem User-Verzeichnis werden jeweils eingelesen TMemIniFile. Über eine separate Klasse, die die Einstellungen kapselt, werden die Einstellungen gelesen. Existiert ein Eintrag in der User-Ini, wird dieser genommen, ansosnten der aus der Programm-Ini. Änderungen werden logischweise nur in die User-Ini geschrieben. Analog lässt sich dieses auch mit jedem beliebigen Datei-Format bewerkstelligen. |
AW: im Programmverzeichnis Datei ändern?
@Sir Rufo
Das eigentliche Produkt sind die Dateien, das Programm dient lediglich um die Dateien zu nutzen. Es ist zwar ein wichtiger Bestandteil, denn ohne, sind die Daten nutzlos, aber trotzdem, auf die Daten kommt es an. Wenn ich Excel installiere, dann ist Excel das Produkt, wenn ich Nero installiere, dann ist eben Nero das Produkt. Jeder kann sie von jedem Konto aus nutzen. Hier sind die Daten das Produkt. Aber Daten sind nun mal Daten und können im Gegensatz zum Programm geändert werden. Und das ist das Besondere. Das Programm das ich klone macht das einfach: die Daten liegen im Programmeordner und können somit nur im Adminkonto geändert werden. Ich hab einigen Nutzer des anderen Programms gesprochen und die meinen, das ist nun mal so, damit muß man leben. Es wird also akzeptiert. Trotzdem, jedes mal für eine Anpassung das Konto wechseln ist nicht optimal. Ich biete inzwischen eine Pseudolösung an, weil es nicht anders geht. Der Nutzer kann sich eine Kopie der Datei erstellen und kann diese ändern. Er hat eben die Wahl: ins Adminkonto wechseln und es für alle Konten ändern, oder im Konto kopieren und es nicht nicht in anderen Konten nutzen können. Eine andere Lösung gibt es nicht. |
AW: im Programmverzeichnis Datei ändern?
Es ist schade, das Windows es (noch nicht) fertig bringt, den Kontext "Applikation" als Tupel von (Code, statische Daten, gemeinsame Daten aller Nutzer, dynamische Daten pro Benutzer) zu sehen, sodaß der einfache Anwender es versteht.
Klar gibt es eine sehr sinnvolle Regel, aber ich muss im Explorer trotzdem wissen, wo ich suchen muss. Was passiert eigentlich, wenn ich bei der Installation (als Admin) im Programmordner einen Link zu <AppData>\<MeinProgramm> anlege? Wäre das nichts? |
AW: im Programmverzeichnis Datei ändern?
Es gibt neben Gemeinsame Dokumente auch All Users Anwendungsdaten, also Anwendungsdaten Ordner für alle. Allerdings haben da nicht alle dort Schreibrechte. Somit es es das gleiche wie Daten in Programme-Ordner, nur in grün.
|
AW: im Programmverzeichnis Datei ändern?
Die anwenderspezifischen Einstellungen kommen in den anwenderspezifischen Ordner.
Die allgemeingültigen Einstellungen eben in den allgemeinen Ordner. Wer darauf keine Schreibrechte hat, darf anderen Anwendern wohl auch nicht vorschreiben, was bzw. wie sie etwas zu tun haben. Desweiteren gibt es -sofern ich mich erinnere- 'öffentliche Dokumente'. Erstelle die Unterverzeichnisse so, wie Furtbichler beschrieben hat, also als Link auf die zugegebenermaßen etwas versteckten, aber richtigen Verzeichnisse. Dann sind die Daten und Programme alle gemeinsam sichtbar. Nebenbei: Egal, was Du vorhast: Ich werde mein Windows immer so kaputtkonfigurieren können, das irgend etwas nicht geht. Es reicht, wenn es in 99% der Fälle funktioniert, weil 99% der Anwender die Finger vom Rechtesystem lassen. Merke: Man muss nicht jeden Fall erschlagen, sondern nur dokumentieren, in welchen Fällen die Applikation funktioniert. Ein Auto fährt ja auch nicht mit Wasser, nur weil es im Amazonas keine Tankstellen gibt, aber einem dort vielleicht das Benzin aus geht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 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