Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Vista-Verzeichnisse und Benutzer (https://www.delphipraxis.net/92309-vista-verzeichnisse-und-benutzer.html)

Hansa 17. Mai 2007 20:09


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$.

CCRDude 17. Mai 2007 20:16

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?

Hansa 17. Mai 2007 20:30

Re: Vista-Verzeichnisse und Benutzer
 
Zitat:

Zitat von CCRDude
...Die Vorgabe macht Sinn und hat Vorteile, Du hast Sie scheinbar nur noch nicht erkannt ;)..

Tolle Antwort. :twisted: Vor allem so ausführlich. Die Fragen stehen etwas weiter oben. :mrgreen:

CCRDude 17. Mai 2007 20:33

Re: Vista-Verzeichnisse und Benutzer
 
Tolle Antwort auf tolle Fragen, so geht das halt ;)

Zitat:

Zitat von Hansa
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.

Warum hatte ich ja schon gesagt - weil Du es scheinbar falsch machst und nicht die Shellkonstanten benutzt, womit sich die Fragestellung wohl erübricht hätte, inklusive der zweiten ;)
Zitat:

Zitat von Hansa
Was hat sich M$ bei sowas überhaupt gedacht ?

Da erwartest Du doch nicht ernsthaft eine Antwort drauf?
Zitat:

Zitat von Hansa
Nebenfrage : sofern Admin und ein Nicht-Admin-User angemeldet sind, dann siehts aus, als ob das so nicht geht.

"Es" geht nicht, juchu!
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:

RWarnecke 17. Mai 2007 21:22

Re: Vista-Verzeichnisse und Benutzer
 
Zitat:

Zitat von Hansa
Hi,
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.

Wenn Du mal Registry-Werte zwischen Windows Xp und VISTA vergleichst, dann wird Dir auffallen, dass unter Windows XP immer der volle Pfad drinsteht und unter Windows VISTA der gleiche Pfad mit einer Variablen angezeigt wird.

Beispiel:
Hier Windows XP:
Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{00000514-0000-0010-8000-00AA006D2EA4}\InprocServer32]
@="C:\\Programme\\Gemeinsame Dateien\\System\\ado\\msado15.dll"
Hier Windows VISTA:
Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{00000514-0000-0010-8000-00AA006D2EA4}\InprocServer32]
@="%CommonProgramFiles%\\System\\ado\\msado15.dll"
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.

CCRDude 17. Mai 2007 21:38

Re: Vista-Verzeichnisse und Benutzer
 
Naja, den Grund finde ich relativ einleuchtend:
  • Alle Programme in einem Unterordner gesammelt für die Übersichtlichkeit.
  • Einen lokalisierten Namen für diesen Ordner für Menschen mit geringen Englischkenntnissen.
  • Beides obiges auch für Datenverzeichnisse.
  • Bei Datenverzeichnissen insbesondere, falls mehrere Programme Daten teilen - dann gibt es einen zuverlässigen bekannten Pfad dorthin.
  • Netzwerksysteme können diverse Benutzerspezifische Ordner auch einfach auf einem Netzwerklaufwerk verwenden, ohne daß Programme damit Probleme haben.
  • Benutzer können ihren Datenordner auf eine andere Partition verschieben (das einzig sinnvolle bei einem Jährlichneuinstalliersystem wie Windows ;) ) und Programme können ihre Daten dank ShellAPI immer noch wiederfinden. Allgemein können diese Ordner verschoben werden, ohne daß Programme plötzlich aufören zu funktionieren.
  • Da die Shell es erlaubt, immer den gültigen Pfad dafür auszulesen, kann der sich sogar zwischen Windows-Versionen ändern, ohne daß Programme sich updaten müssen (Vista etwa ändert da einiges - kein Problem wenn mans über die ShellAPI macht).

Hansa 18. Mai 2007 00:41

Re: Vista-Verzeichnisse und Benutzer
 
CCR, nenne mal bitte deine Vista version.

mkinzler 18. Mai 2007 07:37

Re: Vista-Verzeichnisse und Benutzer
 
Zitat:

Zitat von Hansa
CCR, nenne mal bitte deine Vista version.

Ist hierfür unerheblich.

Assertor 18. Mai 2007 10:11

Re: Vista-Verzeichnisse und Benutzer
 
Hallo Hansa,

Zitat:

Zitat von Hansa
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 ?

Es gibt da ja auch - je nach Einsatzbereich - einige Sicherheitsaspekte. Ich kenne einige Unternehmen oder Einrichtungen, da würde ein Programm mit so einer eklatanten Sicherheitslücke rausfliegen bzw. separiert (vgl. Quelle: BSI, IT Grundschutz Kataloge 2006, z.B. Maßnahme M 4.53, Seite 2274 ff.).

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:

Zitat von Hansa
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 ?

Kannst Du das mal etwas umformulieren? Ich verstehe es ehrlich gesagt im Moment nicht...

Gruß winkel79

Dezipaitor 18. Mai 2007 10:16

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.
Seite 1 von 4  1 23     Letzte »    

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