Das wundert mich, den genau die Ordner hätte ich auch vorgeschlagen.
Hast du das Setup den mal auf anderen PC's getestet, ob diese ebenfalls UAC-geschützt sind. Evtl. sind ja nur an deinem PC die Rechte oder die UAC anders als üblich eingestellt.
Der Ordner selbst ist auch nicht zur Ablage gedacht, wohl aber seine Unterordner, die du ohne weitere Probleme anlegen dürftest.
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
CommonProgrammFiles ist nach meinem Verständnis eher für ausführbare Dateien, zumindest nicht für änderbare Dateien, aber mit CommonApplicationData solltest du richtig liegen. Sollten tatsächlich (NTFS-)Rechte fehlen, solltest und müsstest du die in der Setup-Routine entsprechend setzen. Wie schon von Grumbler85 gesagt, nicht für den Ordner selbst, sondern für den Unterordner für dein Programm.
Deshalb hat ein Setup ja auch meistens vorneweg eine Abfrage, ob es Admin-Rechte bekommt ;)
CommonApplicationData hat glaube ich aber keine Beschränkung ...
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Grumbler85 am .
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Es gibt die Möglichkeit, die Zugriffsrechte von Dateien und Verzeichnissen so zu setzten, dass alle Benutzer Schreibrechte haben. Das ist allerdings potentiell gefährlich, je nach Inhalt.
Eines meiner Spiele macht es so.
Das Framework bietet dafür Apis.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Floste am .
Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!
die Rechte soll auch nicht das Programm, sondern das Setup setzen. Das muss dann eben mit Adminrechten ausgeführt werden. Ich würde vermuten, dass so ziemlich jeder Setup-Generator eine eingebaute Unterstützung hat, um Zugriffsrechte zu setzen.
Wenn nicht, musst du eine benutzerdefinierte Aktion einbauen. Wie du Zugriffsrechte mit .NET setzt, sollte im Forum, im Netz und in der Doku beschrieben sein. Stichworte: NTFS-Rechte/ACL.
Die Benutzerspezifischen Ordner sind natürlich nur vom Benutzer selbst zugreifbar - die kann man (sofern keine Daten vorneweg reinmüssen) gut während des Programmstarts anlegen.
Die ganzen Common Ordner sind gut geeignet aus einer Installation heraus
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Grumbler85 am .
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Hallo Floschi - also ich kann dein Problem nicht nachvollziehen, denn ich habe (mit UAC) uneingeschränkt //edit: es ist wohl was komplizierter, als "uneingeschränkt", aber dennoch fühlt es sich an wie uneingeschränkt ... lese und schreibrechte in CommonApplicationData (der in Win7 auf C:\ProgramData\ gemappt wird)
Dort kannst du ohne weiteres Ordner anlegen und verwenden.
Die Rechte lässt du am besten ganz in Ruhe, dann wird von ProgramData geerbt und die Rechte lassen alles zu, was du brauchst ...
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Grumbler85 am .
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Ich kann das Problem für Windows 7 bestätigen. Im Setup muss ich die Rechte für einen Unterordner von CommonApplicationData setzten sonst hat die Anwendung keinen Schreibzugriff.
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
wie ich Rechte setze das weiß ich schon, das Problem ist die UAC.
Und ich brauche zentral eine Stelle an der ich Daten schreiben kann, unabhängig vom Benutzer.
Hä!?
Ich habe grade mal einen ordner mit gesetzten Rechten in "C:\Program files" erstellt.
Es geht! Ich habe keine probleme mit UAC! Einfach eine Berechtigung hinzufügen, dass "Jeder" (ohne die Anführungsstiche natürlich) auf den Ordner zugreifen kann UND dass diese Berechtigung für alle Unterelemente übernommen werden soll. Klappt wunderbar.
Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!
obwohl dieser Beitrag schon etwas älter ist, bin ich momentan beim gleichen Problem. Da das Thema da nicht mehr weiter besprochen wurde, möchte ich es gerne nochmals aufnehmen.
Wo ist der richtige Ort um Daten benutzerunabhängig abzuspeichern, wo aber jeder Benutzer lesen und scheiben kann?
Wenn ich Special Folders richtig verstehe, müsse das der CommonApplicationData sein. Jedoch eben wie im Beitrag beschrieben hat ein Benutzer standardmässig keine Schreibberechtigung auf diesen Ordner (und Unterordner)
Das Problem ist, das keiner bis zu ende liest wenn es um die Berechtigungen geht.
1. Als Ersteller eines Verzeichnisses unter CommonApplicationData kannst du dadrin veranstalten was du möchtest.
2. Das gilt aber nur für den ersteller.
3. Musst du nach dem erstellen selber Berechtigungen vergeben, wenn es alle sein sollen dann: