Anfängerfrage zu INI-Dateien bei der Programmierung
Guten Tag an alle!
Ich habe in VB.Net ein Programm geschrieben. Da dieses Programm auch Einstellungen speichern muss, legt es für diesen Zweck eine ini-Datei im gleichen Ordner an.
Das Problem ist, wenn man das Programm startet und keine Adminrechte hat, bekommt man den Fehler:
"Der Zugriff auf den Pfad "C:\Program Files\Name\settings.ini" wurde verweigert."
Wie sollte ich das am besten lösen?
- Die ini-Datei an einem anderen Ort speichern? Welchen würdet ihr empfehlen?
- Die VB-interne Möglichkeit nutzen, um Einstellungen zu speichern? Nein, da das Programm auch als Portable Version laufen soll (deswegen ja die ini)
- Dass das Adminrechte verlangt, kommt nicht infrage.
Vielen Dank für jeden Tipp
Anmerkung: Ich bin recht neu dabei - bitte nicht zu hart sein.^^
Mit freundlichen Grüßen
Freund der Nacht
Ich habe in VB.Net ein Programm geschrieben. Da dieses Programm auch Einstellungen speichern muss, legt es für diesen Zweck eine ini-Datei im gleichen Ordner an.
Das Problem ist, wenn man das Programm startet und keine Adminrechte hat, bekommt man den Fehler:
"Der Zugriff auf den Pfad "C:\Program Files\Name\settings.ini" wurde verweigert."
Wie sollte ich das am besten lösen?
- Die ini-Datei an einem anderen Ort speichern? Welchen würdet ihr empfehlen?
- Die VB-interne Möglichkeit nutzen, um Einstellungen zu speichern? Nein, da das Programm auch als Portable Version laufen soll (deswegen ja die ini)
- Dass das Adminrechte verlangt, kommt nicht infrage.
Vielen Dank für jeden Tipp
Anmerkung: Ich bin recht neu dabei - bitte nicht zu hart sein.^^
Mit freundlichen Grüßen
Freund der Nacht
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 274117
Url: https://administrator.de/forum/anfaengerfrage-zu-ini-dateien-bei-der-programmierung-274117.html
Ausgedruckt am: 25.12.2024 um 01:12 Uhr
6 Kommentare
Neuester Kommentar
Moin,
Oder das Programm gleich woanders speichern nur nicht im ProgramFiles-Ordner.
Gruß jodel32
Zitat von @Freund.der.Nacht:
Das Problem ist, wenn man das Programm startet und keine Adminrechte hat, bekommt man den Fehler:
"Der Zugriff auf den Pfad "C:\Program Files\Name\settings.ini" wurde verweigert."
Logisch, weil Otto-Normaluser im Verzeichnis C:\Program Files\ keine Schreibrechte haben.Das Problem ist, wenn man das Programm startet und keine Adminrechte hat, bekommt man den Fehler:
"Der Zugriff auf den Pfad "C:\Program Files\Name\settings.ini" wurde verweigert."
Wie sollte ich das am besten lösen?
Wenn das Programm in Program Files Ordner gespeichert sein muss, für das ini File den Pfad %appdata%\DeinProg\settings.ini benutzen, dort hat nämlich Otto-Normaluser Schreibrechte und dort gehören änderbare Programmeinstellungen laut MS hin.Oder das Programm gleich woanders speichern nur nicht im ProgramFiles-Ordner.
Gruß jodel32
Moin,
lg,
Slainte
Das Problem ist, wenn man das Programm startet und keine Adminrechte hat, bekommt man den Fehler:
Lesen sollte in dem Pfad jeder können. Was/warum schreibst du denn in die INI DateI?- Die ini-Datei an einem anderen Ort speichern? Welchen würdet ihr empfehlen?
%appdata%\Programmname\blubb.inilg,
Slainte
Hallo,
nimmt na heute eigentlich noch ini Dateien her?
https://msdn.microsoft.com/en-us/library/ms379611(v=vs.80).aspx
nimmt na heute eigentlich noch ini Dateien her?
https://msdn.microsoft.com/en-us/library/ms379611(v=vs.80).aspx
Ist zwar bei mir schon ne weile her (sprich nicht 100% sicher) aber du müsstest unrecht haben.
Im Endeffekt wird hier anstelle der INI Datei eine XML Datei erstelle mit einem festen Schema.
sonst dürfte sich nicht so viel ändern. Somit nur etwas eleganter zum Händeln.
Wie es da mit den Berechtigungen aussieht kann aber auch aus dem Stegreif nicht sagen.
Währ aber schnell zum testen.
Im Endeffekt wird hier anstelle der INI Datei eine XML Datei erstelle mit einem festen Schema.
sonst dürfte sich nicht so viel ändern. Somit nur etwas eleganter zum Händeln.
Wie es da mit den Berechtigungen aussieht kann aber auch aus dem Stegreif nicht sagen.
Währ aber schnell zum testen.