![]() |
Vista-Verzeichnisse und Benutzer
Hi,
muss das Thema nochmals aufgreifen, wegen hiesigem Vista-Tag. :mrgreen: Es geht im Prinzip eher allgemein um Verzeichnisse und wo jetzt was gespeichert werden soll. Zuerst mal, was ich gemacht habe : Programm liegt bei C:\XY> Datenbank bei C:\XY\DB> und nicht bei C:\Programme> usw. Dann als Admin eingelogged und einen neuen Standardbenutzer angelegt (also ohne Admin-Rechte). Als diesen neu eingelogged und das Programm gestartet : läuft sofort. Auch Speicherung der Daten funktioniert. Jetzt die Fragen : an jeder Ecke liest man, dass Programme in den Programme-Ordner rein MÜSSEN. Kann mir mal einer erklären warum ? Sofern ich das so mache, kollidiere ich mit "Programme" "program files" usw. und es gibt mehr Probleme, als das ganze wert ist. :???: Was hat sich M$ bei sowas überhaupt gedacht ? Nebenfrage : sofern Admin und ein Nicht-Admin-User angemeldet sind, dann siehts aus, als ob das so nicht geht. Ist das bekannt, oder geht es doch, ohne jedesmal den Benutzer wechseln und abmelden zu müssen um den Benutzer dann wieder zurückzuwechseln ? Zu guter Letzt : Vorgaben interessieren nur dann, wenn sie Sinn machen und Vorteile haben. Das gilt auch für M$. |
Re: Vista-Verzeichnisse und Benutzer
Wieso kollidierst Du?
Verwende die Shell-Funktionen, um den auf dem aktuellen Windows gültigen Pfad für den Programme-Ordner zu bekommen, und Du bist auf der sicheren Seite. Die Vorgabe macht Sinn und hat Vorteile, Du hast Sie scheinbar nur noch nicht erkannt ;) Zur Nebenfrage: da solltest Du schon sagen, was geht oder nicht geht oder gehen soll. Also, wo sind jetzt die Fragen? |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
|
Re: Vista-Verzeichnisse und Benutzer
Tolle Antwort auf tolle Fragen, so geht das halt ;)
Zitat:
Zitat:
Zitat:
Wär's Dir lieber, wenn ich geantwortet hätte: "Dann verpass ihm halt Beine, dann kann er auch gehen"? Mag ja sein daß Du mit "Es" auf Du bist und jeden Abend einen trinken gehst, aber berücksichtige dochmal, daß außer Dir keiner weder "Es" noch seinen gewohnten Gang kennt :roll: |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
Beispiel: Hier Windows XP:
Code:
Hier Windows VISTA:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{00000514-0000-0010-8000-00AA006D2EA4}\InprocServer32] @="C:\\Programme\\Gemeinsame Dateien\\System\\ado\\msado15.dll"
Code:
Bei beiden Pfaden ist es das gleiche Ziel. Frage mich nicht warum es so sit. Ich bin darüber bei meinem aktuellen Projekt gestolpert. Ich bin auch noch über einiges mehr gestolpert zu VISTA.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{00000514-0000-0010-8000-00AA006D2EA4}\InprocServer32] @="%CommonProgramFiles%\\System\\ado\\msado15.dll" |
Re: Vista-Verzeichnisse und Benutzer
Naja, den Grund finde ich relativ einleuchtend:
|
Re: Vista-Verzeichnisse und Benutzer
CCR, nenne mal bitte deine Vista version.
|
Re: Vista-Verzeichnisse und Benutzer
Zitat:
|
Re: Vista-Verzeichnisse und Benutzer
Hallo Hansa,
Zitat:
Du umgehst damit ja sozusagen die Vorgabe wer auf ein Programm (Deines) in welchem Umfang Zugriff hat. Dies richtet sich aber natürlich nach Zielgruppe und Art der Anwendung. Zitat:
Gruß winkel79 |
Re: Vista-Verzeichnisse und Benutzer
ja das ist voll witzig.
In C:\Programme kann ich als nicht Admin kein Verzeichnis erstellen. Jedoch funktioniert das unter C: ohne Probleme. Man muss sich fragen, warum das Sinn macht. Ich würde dir empfehlen in deinem Installation ins Programmeverzeichnis installieren zu lassen. Der Benutzer sollte aber die Wahl haben. Das Programm einfach in einen festgelegten Ordner zu speichern ist benutzerunfreundlich. Die Funktion SHGetSpecialFolderLocation hilft dabei. Unter Vista heißt der Programmordner "Program Files", auch wenn Explorer ihn als "Programme" anzeigt. Das wird halt übersetzt angezeigt. Wenn du dein Installationsprogramm als Admin starten lässt (über Vistamanifest), dann kannst du ohne Probleme nach "C:\Program Files" schreiben. |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
|
Re: Vista-Verzeichnisse und Benutzer
Zitat:
|
Re: Vista-Verzeichnisse und Benutzer
So, da will ich nun meinen Senf auch mal dazu geben.
"Den einen richtigen Weg" gib es nicht. Es mag sinnvoll sein, die Programme in den Programm-Ordner und die Daten unter "Eigene Dateien" zu speichern. Es gibt aber auch genügend Gründe dies anders zu machen. In meiner Anwendung, eine Warenwitschaft, habe ich es so geregelt, daß Programme und Daten in einem Verzeichnis liegen bzw. in diesem Verzeichnis jeweils in einem Unterverzeichnis. c:\meinProgramm\Daten c:\meinProgramm\Programm Wenn nichts spezielles angegeben ist, sucht das Programm immer Relativ zur eigenen Position die Daten. Das hat den Vorteil, das meine Kunden ganz unkompliziert alles zusammen auf einen Stick/oder externe Festplatte kopieren können bzw. sofort von dort aus starten können. Seit ich das mache, ist es supereinfach, alles zu transportieren wohin man es möchte, ohne irgendwelche Installationen durchzuführen. Auch mal eben eine Datensicherung zu starten, um zu sehen, wie die Daten vor einer Woche ausgesehen haben, ist Klasse. Es gibt immer Kunden, die sagen, daß letzte Woche die Daten ganz anders ausgesehen haben. Es gibt auch einige weitere Programme, bei denen es Vorteilhaft ist, dieses einfach vom Stick zu starten. (Browser, Bildbearbeitung, eigene Textverarbeitung, etc.). Das würde ich mir übrigens auch von Delphi wünschen. Einfach das komplette Delphi mit Projektverzeichnis auf ein Stick und überall mit der gleichen Einstellung arbeiten. Nur so ne Meinung. Gerd |
Re: Vista-Verzeichnisse und Benutzer
@bernau: Hast du schon Kunden, die mit Vista arbeiten bzw. mit welchen Rechten arbeiten sie an ihren XP Rechnern?
|
Re: Vista-Verzeichnisse und Benutzer
Das geht sicher auch, in einem 'Safe Environment' müsste dann aber der/die User Explizit noch Schreibrechte auf das Datenverzeichnis erhalten -> Erhöhter Administrativer Aufwand. Und bei manchen Firmen wird der/die Admin(s) ggf. (zurecht) sagen: "Nope - das ist ein No-Go. Die Software wird so nicht hier installiert."
Sowas kann nämlich nicht ohne weiteres vollautomatisch im Netz verteilt werden. Zum richtigen Weg: Naja, den gibt es eigentlich schon. Man sollte sich halt an die Vorgaben halten. Unter Linux würde auch keiner auf die Idee kommen, und Nutzdaten unter /usr oder gar noch /bin bzw. /sbin speichern. Da gehören die nunmal einfach nicht hin. |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
XP: Läuft auch, wenn ich mich als Gast anmelde. Gerd |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
|
Re: Vista-Verzeichnisse und Benutzer
Du kannst als Gast Daten im Verzeichnis C:\PROGRAMME\DEINPROGRAMM\DEINEDATEN speichern? Dann musst du aber bei der Installation was an den Rechten gedreht haben.
|
Re: Vista-Verzeichnisse und Benutzer
@Luckie & Co:
Zitat:
Natürlich kann man das so machen. Alles geht, ist halt nur die Frage, ob das so sinnvoll ist. Ich finde es nach und nach auch gut, daß Vista hier endlich (relativ) konsequent das umsetzt, was seit NT den Programmierer nahegelegt wird. Ist jetzt halt mal die etwas direktere Methode und zeigt so einige "Designfehler". |
Re: Vista-Verzeichnisse und Benutzer
Wenn jetzt aber versucht wird deine Anwendung in einem Netzwerk eines gewissemhaften Admins mit dicken Fell zu installieren, könnte es Probleme geben. Außerdem weiss man ja nicht, ob MS ihr Konzept des UAC noch ausweitet. Deshalb würde ich mich an die Vorgaben halten, standardmäßig im vogesehenen Pfad installieren und die Daten vom Programm strikt trennen.
|
Re: Vista-Verzeichnisse und Benutzer
Das ist ja noch schlimmer. Wenn das jedes Programm machen würde*, dann kann der Administrator gar keine Ordnung mehr halten. Desweiteren muss er trotzdem was an den Rechten gedreht haben. Ich kann zwar als normaler Benutzer dort ein Verzeichnis erstellen, Schreibrechte hat dort aber nur der Ersteller und der Administrator.
*) Mein Canon-Drucktreiber hat das gemacht C:\BJPrinter und ein Programm vom BDS6: c:\Program Files\Borland\Java. Beide Verantwortlcihen hätte ich dafür in den Popo treten können. |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
Nun ja. Es kommt immer auf den Kunden an. Ich stimme dir zu, wenn du Software für einen großen Konzern entwickelst. Aber da hast du ganz andere Anforderungen und Voraussetzungen als wenn dein Kunde eine kleine Firma mit 3-4 Arbeitsplätzen ist, oder gar eine Privatperson. Eine Anforderung von einigen Kunden war, das Programm transportabel zu machen. In der Firma tagsüber mit den Daten zu arbeiten, dann die USB-Platte abziehen. Mit nach Hause nehmen und dort die Buchhaltung zuende führen. Zitat:
Wie gesagt: Unterschiedliche Lösungen für unterschiedliche Anforderungen. Zitat:
Gerd |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
Wenn ich bei mir jedoch auf die Verknüpfung klicke, bekomme ich eine 5 (Zugriff verweigert). |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
Wo liegen jetzt aber genau "Sicherheitslücken", wenn man es so macht wie bernau ? Ich kann schreiben, wohin ich will, nur nicht in das Verzeichnis eines anderen Users ? Na toll. IMHO ist es vielleicht sinnvoll, sich in einem multinationalen Konzern an Richtlinien zu halten, selbst wenn die von Microsoft kommen, aber praktikabel muss das lange nicht sein. Windows ist übrigens nicht ISO??? konform. Mal nebenbei bemerkt. Viele Admins sind außerdem froh, wenn sie wissen wo was ist und halten sich deshalb sehr gerne nicht an M$-Richtlinien. Wo bleibt das Killer-Argument sich dem unterordnen zu müssen ? |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
|
Re: Vista-Verzeichnisse und Benutzer
Nochmal ein Nachtrag, weil das ggf. doch etwas überheblich rübergekommen sein könnte (was not my intention).
Gerade aus dem Aspekt der Usability her - und der Vereinfachung für den User - sollte man sich an die Standards halten. Wenn ein User die Windows-Funktion zur Datensicherung verwendet wird sein Profil mit seinen Nutzdaten gespeichert. Ein Programm XY das dort seine Daten nicht hinlegt wird einfach nicht mitgesichert. Wer guckt doof aus der Wäsche wenn wirklich was mit den Daten passiert und der User seine Sicherung zurückspielt und auf einmal seine Daten aus der Anwendung XY nicht wiederfindet? Genau: Der User. Und der Entwickler sagt: "Ja, da hätten Sie das Verzeichnis xyz noch mitsichern müssen." Und dann guckt der User noch blöder und fragt: "Was für ein Verz-Ding?". Als verantwortungsbewusste Entwickler sollten wir schauen, dass wir den 08/15-User (und damit den allgegenwärtigen DAU) mit unserer Anwendung nicht überfordern. Und dazu gehört eben auch, dass der User nicht zu wissen braucht, wo eine bestimmte Anwendung selber und wo ihre Daten liegen. Das muss einfach nur laufen - und sollte Systemfunktionen wie Sicherung, Profilumzug etc. auch unterstützen, damit wir den User nicht im Regen stehen lassen. |
Re: Vista-Verzeichnisse und Benutzer
@Phoenix : hast du U3 Stick ? IMHO ist der lediglich halbe Sache.
wg. roter Kasten : Zitat:
|
Re: Vista-Verzeichnisse und Benutzer
Zitat:
...:cat:... |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
Ein Programm benötigt immer nur dort Schreibrechte, wo auch die Daten des oder der Benutzer liegen, wo auch immer das sein mag. |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
Da der Stick passwortgeschützt ist und keine Spuren (ausser dem U3-DeviceDriver) auf dem Hostsystem hinterlässt finde ich das schon eine richtig geschickte Sache. Und das, was da noch nicht ausgereift ist, wird hoffentlich mit dem Nachfolgesystem beseitig werden :) |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
Edit : Diese Abfrage gibt es ja auch, wenn ich den Registy-Editor starte, was ich aber persönlich für absoluten Schwachsinn halte. |
Re: Vista-Verzeichnisse und Benutzer
in meiner ACL habe ich den Eintrag, dass der Lesezugriff für die Gruppe "Jeder" verweigert werden soll.
Ich kann dies nicht ändern, da alle Buttons ständig ausgegraut sind. Der Besitzer der Verknüpfung ist "SYSTEM". Eine Änderunge auf mich hat jedoch nichts hinsichtlich der ausgegrauten Buttons gebracht. Ich vermute mal, dass es etwas mit dem Integritätslevel zu tun hat, welches man nicht über die Oberfläche ändern kann. Eine Kommandozeile als Administrator gestartet funktioniert. Damit kann man die Verknüpfung lösen: icacls c:\programme /remove:d Jeder Danach kann ich die Verknüpfung verwenden, um nach c:\program files zu springen. |
Re: Vista-Verzeichnisse und Benutzer
Zitat:
Aber ob's ein Standard ist, wird sich Herausstellen. Habe hier im Delpi-Forum nach U3 gesucht und soooo vieel habe iich nicht gefunden. Ich werde mir die U3-Seite aber mal anschauen. Inbteressant ist's allemal. Gerd |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 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