freund.der.nacht
Goto Top

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

Content-Key: 274117

Url: https://administrator.de/contentid/274117

Printed on: April 24, 2024 at 06:04 o'clock

Mitglied: 114757
Solution 114757 Jun 09, 2015 updated at 12:49:31 (UTC)
Goto Top
Moin,
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.
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
Member: SlainteMhath
Solution SlainteMhath Jun 09, 2015 updated at 12:49:23 (UTC)
Goto Top
Moin,

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

lg,
Slainte
Member: Freund.der.Nacht
Freund.der.Nacht Jun 09, 2015 at 12:46:23 (UTC)
Goto Top
Schreiben muss es, wenn die Einstellungen geändert werden ;)

Danke euch beiden!
Member: wiesi200
wiesi200 Jun 09, 2015 at 14:07:10 (UTC)
Goto Top
Hallo,

nimmt na heute eigentlich noch ini Dateien her?

https://msdn.microsoft.com/en-us/library/ms379611(v=vs.80).aspx
Member: Freund.der.Nacht
Freund.der.Nacht Jun 09, 2015 at 14:12:57 (UTC)
Goto Top
Hallo wiesi,

soweit ich mich erinnern kann, sind die Einstellungen hinfällig wenn die Anwendung umbenannt wird oder ihr Ort sich ändert.
Ich möchte gern auch eine Portable Version erstellen.

Wenn ich da Mist erzähle, belehrt mich eines besseren.
Member: wiesi200
wiesi200 Jun 09, 2015 at 14:26:29 (UTC)
Goto Top
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.