Hallo,
ich habe gerade mein erstes Projekt mehr oder weniger fertig und will nun das ganze per Setup.exe verfügbar machen. Ich habe mir dazu Inno Setup installiert und ein Script geschrieben, welches auch soweit ganz gut funktioniert.
Mein Projekt besteht nur aus der .exe, einer Hand voll .dll und einer Datenbankdatei (sqlite), welche alle in einem Order liegen (C:\Program Files\MyProj).
Jetzt habe ich das Problem, dass meine C# Anwendung nicht die DB-Datei bearbeiten kann, da sie wohl im Admin Bereich liegt. Ich habe zwar die Berechtigungen für "Everyone" und "Users" auf "full" gesetzt, aber das hat nicht geholfen.
Nun zur Frage:
Wie mache ich das vernünftig?
Ich dachte ja schon an %AppData%, diese sind jedoch (wenn ich das richtig verstehe) Nutzergebunden. Die Datenbank soll aber Systemweit die gleiche sein.
Muss ich die Berechtigungen anders ändern oder gibt es von Windows dafür geeignete Order?
Mit freundlichem Gruß,
thetemplar
PS: Ich hoffe dass das nicht schon 1000x gefragt wurde, aber die Suche nach "C# Installationsorder" etc ist weniger zielführend...
HI,
das Problem hatte ich auch mal.
Ich habe es so gelöst, dass ich mit Inno noch ein Data Ordner mit der Berechtigung every-full angelegt habe und die DB Datei da drin abgespeichert habe.
Gruß
pokider
Von dieser Variante ist ausdrücklich abzuraten!
Siehe meine Antwort weiter unten.
Hallo thetemplar,
meines Wissens wäre der CommonApplicationData Ordner hierfür geeignet.
Ansonten einfach mal hier schauen ob was passendes dabei ist:
Environment.SpecialFolder
mfg,
xan
Korrekt. Alles unter PrgramFiles ist read-only und soll auch so bleiben.
Dies ist mit Vista hart eingeführt worden und wird von Version zu Version strikter reguliert.
Daher kommen gemeinsame Dateien, die alle Nutzer verwenden sollen, in CommonApplicationData
- Userspezifische Daten in ApplicationData
Alles andre auf C ist ein fehlerhafter Weg, besonders das programmatische Ändern von Berechtigungen, wie es Pokider vorgeschlagen hat.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo thetemplar,
es wurde schon mehrfach danach gefragt, z.B. in [erledigt] Setup Projekt und NTFS-Rechteprobleme.
herbivore