Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows Vista/7, UAC und COMMON_APPDATA ... (https://www.delphipraxis.net/147072-windows-vista-7-uac-und-common_appdata.html)

Deep-Sea 1. Feb 2010 14:24


Windows Vista/7, UAC und COMMON_APPDATA ...
 
Ich weiß, ich weiß ... das Thema findet man hier häufiger. Aber keine Antwort ist wirklich befriedigend für mich. :stupid:

Ich benötige einen Ordner, in denen meine Applikation Schreibrechte hat - und zwar egal unter welchem Benutzer sie läuft. Wie schon häufiger hier bemerkt wurde, ist eigentlich COMMON_APPDATA dafür genau das richtige, aber Schreibrechte hat man unter Windows Vista/7 nur auf Dateien, die man selbst erstellt hat. (Und auch wenn so manch einer meint, das es niemals einen Fall geben kann, wo dass störend ist, ist dem nicht so.)

Der Anwendungsfall ist eigentlich recht simpel: Eine Datenbank.
Natürlich kann man nicht für jeden Benutzer eine eigene DB anlegen, wie es mit Einstellungen machbar wäre.

Aber was ist nun die beste Lösung? Beim Installieren einfach allen Benutzern Vollzugriff auf den DB-Ordner geben? Viel mehr fällt mir eigentlich auch gar nicht ein. :?
Helft mir! Denn ich glaube ja kaum, dass ich der erste bin der eine DB unter Windows Vista/7 zum laufen bringen will :mrgreen: ...

Sir Rufo 1. Feb 2010 15:20

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
In dem Fall gehören die Daten ja auch (m.E.) in den einen Ordner von "All Users"/"Public"

Deep-Sea 1. Feb 2010 15:39

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Zu COMMON_DOCUMENTS? Das wäre schon möglich, aber gehören solche Daten wirklich zu den "Eigenen Dateien" der Benutzer? Dort Dokumente des Programms und ähnliches abzuspeichern ist ja ok, aber jeden Applikationsinternen "Müll", von dem die meisten Kunden weder etwas wissen, noch unbedingt wissen müssen da rein knallen?! :?

hoika 1. Feb 2010 16:24

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Hallo,

schau mal hier

1


Heiko

Deep-Sea 1. Feb 2010 16:30

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Zitat:

Zitat von hoika
Hallo,

schau mal hier

1


Heiko

Also wie ichs schon geschrieben habe: Vollzugriff für den eigenen Ordner in COMMON_APPDATA vergeben ... nun gut ... :-D

hoika 1. Feb 2010 16:51

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Hallo,

da habe ich den eigenen Link nicht zu Ende gelesen ;)

Deep-Sea hat Recht *staun* ;)


Heiko

mschaefer 1. Feb 2010 17:26

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Gibt es da eigentlich schon eine Fertiglösung für die Rechtevergabe im Installer (z.B. mit Inno-Setup)

// Martin

Sir Rufo 1. Feb 2010 22:21

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Wenn ich das richtig interpretiere, dann mit InnoSetup aber der Version 4.1.0 :mrgreen:
http://www.jrsoftware.org/isfaq.php#perms

mschaefer 2. Feb 2010 07:22

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Ja ok, es hilft sich die Doku genau durchzulesen :gruebel: !
Wenn man eine Anwendung für mehrere Nutzer installieren möchte muß man dann Inno Setup unter Windows 7 mit Administrator-Rechten starten ?

Grüße // Martin

hoika 2. Feb 2010 07:35

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Hallo,

das macht Win7 selber, wenn im Install-Namen Install oder Setup enthalten ist,
bzw. es kommt der schicke Dialog.


Heiko

OrtmannMedia 27. Apr 2010 09:38

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Zitat:

wenn im Install-Namen Install oder Setup enthalten ist
Hallo Hoika,
mich interessiert, ist damit der Dateiname gemeint, also z.B. Install.exe oder Setup.exe?
So dass Win7 das von selbst als Admin ausführt, oder dass ich das noch durch Rechts-Mausklick
explizit angeben muss.


Noch eine Frage:
Ist das
C:\Users\Public\
unter Vista u. Win7 eigentlich immer vorhanden?
(Der Enduser sieht ja dann in einer deutschen WinVersion nur das virtuelle Verzeichnis Desktop->Bibliotheken,
auf das alle User volle Zugriffrechte haben)

Ggf. wenn es sonst keine sinnvolle Möglichkeit gibt über CLSID oder so,
dann kann man vielleicht davon ausgehen, dass es das C:\Users\Public\
immer identisch gibt?


Danke und viele Grüße
Jürgen

Bernhard Geyer 27. Apr 2010 09:50

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Zitat:

Zitat von OrtmannMedia
Zitat:

wenn im Install-Namen Install oder Setup enthalten ist
Hallo Hoika,
mich interessiert, ist damit der Dateiname gemeint, also z.B. Install.exe oder Setup.exe?
So dass Win7 das von selbst als Admin ausführt, oder dass ich das noch durch Rechts-Mausklick
explizit angeben muss.

Am besten eine Vista-Kompatibles Manifest verwenden und nicht auf Auswertung von Dateiname/Dateiinfo vertrauen.


Zitat:

Zitat von OrtmannMedia
Noch eine Frage:
Ist das
C:\Users\Public\
unter Vista u. Win7 eigentlich immer vorhanden?
(Der Enduser sieht ja dann in einer deutschen WinVersion nur das virtuelle Verzeichnis Desktop->Bibliotheken,
auf das alle User volle Zugriffrechte haben)

Ja. Ab Vista ist das Dateisystem immer Englisch und wird auf C:\ als Starpartition angelegt. Ist unfähigen (amerikanischen) Programmierern geschuldet die nur "C:\Program Files" kennen

Zitat:

Zitat von OrtmannMedia
Ggf. wenn es sonst keine sinnvolle Möglichkeit gibt über CLSID oder so,
dann kann man vielleicht davon ausgehen, dass es das C:\Users\Public\ immer identisch gibt?

Du solltest immer über die offiziellen API's zur Bestimmung des Verzeichnisses gehen. Evtl. ändert sich das mit Windows 9 und das eigen Verzeichnis heißt dann "http:\\InTheCloudAtMS\UserName"

Guido Eisenbeis 29. Apr 2010 01:17

Re: Windows Vista/7, UAC und COMMON_APPDATA ...
 
Ich denke, dieses Thema ist bestimmt für viele interessant und sollte zusammengefasst und in die FAQ / Code-Library übernommen werden. Als Stichworte für die Suche vielleicht der Titel: "Eigene App Daten speichern in Vista und Windows 7".

Guido.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 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 by Thomas Breitkreuz