LabVIEWForum.de - In versteckte Konfig-Datei schreiben

LabVIEWForum.de

Normale Version: In versteckte Konfig-Datei schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

wie kann ich denn in eine versteckte .ini Datei schreiben?
Ich habe die Datei versteckt und schreibgeschützt angelegt, damit Benutzer es nicht so leicht haben die Datei zu finden und zu verändern.
Ich hebe den Schreibschutz auf, schreibe meine Daten in die Datei, schließe die Datei und füge den Schreibschutz wieder hinzu.
Beim schließen der Datei bekomme ich aber immer einen Fehler!
Wenn die Datei nicht versteckt ist, funktioniert der Code.
Wer hat damit schon Erfahrungen gemacht, bzw. weiß wo mein Fehler liegt?
[attachment=47835]

Grüße
Ich habe es jetzt hinbekommen, indem ich die Datei durch einen Kommandozeilenbefehl mit dem System Exec.vi zunächst sichtbar mache, rein schreibe und wieder verstecke.
Das funktioniert zwar, ist aber finde ich auf den ersten Blick keine schöne Lösung.
Gibt es da noch eine andere Möglichkeit, oder muss ich es so machen?

Grüße
Aus der Hilfe zu File-Permissions:

Zitat:(Windows) Use of the permissions parameter is very limited on non-Linux operating systems. You can use permissions to change only write permissions for users (bit 7); the operating system ignores all other changes to the bits.

Gruß, Jens
Hallo TDO,

ist es zwingend nötig, dass die Datei versteckt sein muss? Anderenfalls wäre es ja auch möglich, sie zu verschlüsseln und mit Checksummenbytes gegen unbefugtes Verändern zu markieren.


Gruß, Marko
Das Ablegen von Werten in einer INI-Datei ist doch sowieso eine veraltete Methode. Moderner ist das Abspeichern in der Registry. Wenn Du das tun tätest, wäre ein gewisses Verstecken ganz von allein gegeben.
Hallo Lucki,

warum sollte eine (INI-)Datei "veraltet" sein?

- Du kannst Dateien bequem von einem Rechner auf einen anderen übertragen.
- Bei der Registry musst du auf Berechtigungen achten. Und was mal unter Win2K funktionierte, muss unter Win7/8 nicht mehr funktionieren...
- MS empfiehlt USERAPPDATA als Ablage für Programm-spezifische Dat(ei)en...

Ich würde mich jedenfalls nicht auf das "Sichtbar"-Dateiflag verlassen, wenn ich nicht will, dass der User an irgendwelchen Einstellungen rumfummelt...
(19.12.2013 17:25 )GerdW schrieb: [ -> ]warum sollte eine (INI-)Datei "veraltet" sein?
Ich ziehe den Ausdruck "mit aufrichtigem Bedauern" zurück, ich wollte keine Diskussion über veraltet oder nicht lostreten. Das Abspeicheren in der Registry erlaubt eine benutzerspezifische Konfiguration von Programmen, was mit der INI-Datei nicht ohne weiteres möglich war. Die meisten Programm fragen ja jetzt bei der Installation, ob Installation nur für den angemeldeten Benutzer oder für alle Benutzer.
Für Labview-Installationen hat die benutzersprezifische Installation aber wohl keine nennenswerte Bedeutung, weshalb hier die INI-Datei nach wie vor die erste Wahl ist.

So wie ich TDO verstanden habe, braucht er keine krytographisch sattelfeste Verschlüsselung der ini-Datei. Er möchte nur nicht, das jeder Hinz oder Kunz ohne jede Mühe sofort die Konfigurationsdaten sehen und editieren kann. Dazu wollte ich die Überlegung mit der Registry beisteuern. Wie aufwendig das ist, weiß ich allerdings selbst nicht, ich habe es noch nicht gemacht.
Hallo TDO,
im Anhang ein kleines Beispiel mit .Net.
Schreibschutz aktivieren --> Readonly
Datei verstecken --> Hidden

Die File-Ref bringt ebenfalls die Directory-Ref mit.


Gruß
Ralf
Hallo Lucki,

Zitat:Für Labview-Installationen hat die benutzersprezifische Installation aber wohl keine nennenswerte Bedeutung, weshalb hier die INI-Datei nach wie vor die erste Wahl ist.
So wie du bei der Registry Zweige "für alle" und "für den angemeldeten User" hast, gibt es auch Orte auf der Festplatte, die entsprechende Zugriffsrechte haben: USERAPPDATA für den angemeldeten User und PUBLICAPPDATA für alle. Nicht umsonst gibt es seit einigen LV-Versionen diese Funktion...
Wenn du benutzerspezifisch und generische Einstellungen in der Registry ablegen willst, musst du verschiedene Keys/Zweige verwenden. Für Dateien (ob nun INI, CSV, XML, ...) gilt das gleiche...
Referenz-URLs