neuen Pfad zum Directory Service hinzufügen

  • Hallo zusammen!

    Meine Extension speichert lokal Dateien. Um mir nicht immer den Pfad dorthin zusammenbasteln zu müssen, habe ich den Pfad (localDir) zum Directory-Service hinzugefügt:

    Code
    Components.classes["@mozilla.org/file/directory_service;1"]
                        .getService(Components.interfaces.nsIProperties)
                        .set("MyD", localDir);

    Beim ersten Start von Firefox nach Installation legt die Extension den lokalen Programmordner an und setzt dieses Flag. In einer weiteren Methode holt sie sich den Wert, um eine Datei zu erstellen:

    Code
    let directoryService =  
    			Components.classes["@mozilla.org/file/directory_service;1"].      
    			getService(Components.interfaces.nsIProperties);
    let myDir = directoryService.get("MyD", Components.interfaces.nsIFile);

    Dieser erste Durchlauf klappt problemlos. Wenn ich nun aber Firefox schließe und wieder öffne, tritt ein Fehler auf: Da der Programmordner schon existiert, springt die Extenson zum Anlegen des Files. Zuvor wirft die get()-Methode aber den Fehler "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)".

    Meine Vermutung war nun, dass der Pfad nicht persistent gespeichert wird. Ich habe lange gesucht, kann aber die Datei mit den entsprechenden Pfadangaben (ProfD etc.) nicht finden.

    Daher meine Fragen:

    1. wo finde ich diese Einstellungen bzw. wo speichert Firefox mein "MyD"?
    2. werden Pfade wie mein "MyD" nicht persistent gespeichert?
    3. sieht jemand evtl. den Grund für die Fehlermeldung und kann mir das erklären?

    Vielen Dank schonmal!