Custom Firefox Installation mit integriertem Addon via enterprise-policy-generator

  • Ich habe ne Frage an den Sören,
    ich wollte neulich Deinen

    https://addons.mozilla.org/de/firefox/add…licy-generator/

    benutzen, um eine Custom Firefox60esr Version zu erzeugen mit dem Bittube Airtime Addon...
    also das soll gleich installiert werden, wenn man die Firefox60esr Version installiert.....

    Habe also erstmal die Firefox60esr.exe Version mit 7-zip ausgepackt und dann
    habe ich also eine policies.json Datei erzeugt und die im core/distribution Directory abgelegt mit dem Inhalt:

    Code
    {
      "policies": {
        "Extensions": {
          "Install": ["//core/distribution/extensions/ed233011-8d56-4576-aad1-42ab5731f9cd.xpi"],
    
    
        }
    }

    Und die ed233011-8d56-4576-aad1-42ab5731f9cd.xpi Extension selber ins core/distribution/extensions
    abgelegt...

    Dann das übliche Packen mit 7zSD.fx und app.tag, etc, so dass eine Selbstextrahierende EXE entsteht...
    Leider installiert er beim Starten nur Firefox, aber nicht das Addon....

    Muss ich da noch was anderes eintragen, als nur die policies.json im distribution Pfad ?
    Muss ich noch irgendwelche anderen Config oder *.js Files dazu machen oder wie ?

    Wäre sehr nett von Dir, wenn Du mir einen Tip geben könntest...
    P.S: Das Bittube Airtime Addon ist leider zur Zeit gerade nicht online, da es noch ein paar Fehler hatte und bei Mozilla erst wieder aus dem Review rauskommen muss, bis es wieder unter Addons zu finden ist...

    Kann es sein, dass ich einfach nur den falschen Relativen Pfad genommen habe ?
    Vielen Dank.

    Gruss, Stefan Hartmann

  • Hallo,

    vorab: ich nutze kein Windows und kann daher nicht testen. Was mir aber auffällt, ist der Pfad. Zum einen werden Verzeichnisse in Pfaden unter Windows mit einem Backslash und nicht mit einem Slash getrennt. Zum anderen weiß ich nicht, ob der Pfad relativ zum Installationsverzeichnis von Firefox sein darf. Ich weiß nur von absoluten Pfaden, dass diese funktionieren sollten, zum Beispiel "C:\Program Files\Mozilla Firefox\distribution\extension.xpi" - so im Enterprise Policy Generator einzutragen. In der generierten Datei policies.json würde daraus dann "C:\\Program Files\\Mozilla Firefox\\distribution\\extension.xpi" werden, also immer mit doppeltem Backslash. Das muss so sein.

  • Danke für die Antwort...das wird dann aber spätestens schief gehen , wenn es der Anwender nicht auf Laufwerk C: sondern z.b. auf D: installieren will...
    Deswegen sind ja dann wohl relative Pfade wohl eher angesagt , oder sehe ich das falsch ?
    Die Frage ist nur von welchem Pfad muss man da ausgehen ? Von dem Pfad , wo das Setup.exe File liegt oder vom Directory wo das policy.json File liegt ?
    Und müssen da für die automatische Addon Installation noch andere Kommandos in die policy.json rein oder noch andere Files editiert werden ?
    Im Netz gibt es noch andere aber wahrscheinlich veraltete Anleitungen , wo was in eine Autoconfig Datei oder Manifest.js Dazei rein muss, aber anscheinend ist das alles nicht mehr aktuell ab FireFox60esr oder ?

  • In meinem Test unter macOS Mojave hat nur ein absoluter Pfad funktioniert. Du kannst im Firefox ja mal die Seite about:policies aufrufen und schauen, ob was im Fehler-Tab steht.

    Was ich mit Sicherheit sagen kann, ist, dass das "/"-Zeichen in deinem Pfad falsch ist und in der JSON-Ausgabe ein "\\" sein muss. Der Enterprise Policy Generator macht aus "\" automatisch "\\", das Zeichen ist also jeweils nur einmal einzugeben.

    Weitere Dateien müssen nicht bearbeitet werden.

  • Okay vielen Dank für deine Informationen ...ich bin jetzt gerade nur am Handy, deswegen werde ich das morgen dann erst ausprobieren können... am besten würde es sein, wenn man einfach nur den online Link zu dem XPI Addon nimmt dann müsste man eigentlich auf der sicheren Seite liegen... leider ist ja im Augenblick das BitTube Airtime Addon gerade nicht online wegen update Verifizierung , aber ich werde es morgen mal einfach mit einem anderen Addon austesten , ob das funktioniert und euch dann hier bescheid sagen...Danke nochmals..

  • Hi Sören, nochmal eine nachfrage...
    Also ich habe es jetzt hinbekommen Online stehende Addons einfach mit dem https:// Link in das policy.json File einzufügen und die installiert er dann auch problemlos, sogar XPI Files, die nicht im Addon-Server gehostet werden...

    Aber ich habe es noch nicht hinbekommen auch lokale XPI Files mit zu installieren... Hmm..
    Kannst Du mir da bitte nochmal helfen, wie das genau mit den relativen Pfaden ist ?
    In welches Verzeichnis muss ich das XPI Addon-File am besten hinlegen und wie gebe ich dazu den Pfad ein, damit es auch installiert wird ?
    Muss es im core/distribution/extensions/ Verzeichnis liegen und wie muss dann genau der relative Pfad dahin aussehen ?
    Von welchem Basisverzeichnis muss man ausgehen ?

    Muss die Install Zeile dann so heissen ?

    Code
    "Install": ["\\core\\distribution\\extensions\\addon-name.xpi"],

    oder eher so:

    Code
    "Install": [".\\distribution\\extensions\\addon-name.xpi"],


    Von wo aus muss der Pfad gezählt werden, aus dem Distribution verzeichnis ? oder aus dem Core Verzeichnis, so dass man auch die richtigen Punkte setzen muss, damit der relative Pfad stimmt ?

    oder muss es dann so heissen:

    Code
    "Install": ["\\extensions\\addon-name.xpi"],

    Immer, wenn das XPI File im extensions Verzeichnis liegt, oder kann man das XPI auch gleich ins distribution Verzeichnis legen ?

    wäre nett, wenn mir jemand einen Tip geben könnte. Vielen Dank.

    P.S. Geht das alles nur bei der ESR Version oder auch bei der normalen Firefox Windows Version ?
    P.P.S.: bei about:policies kommt immer leider unknown error...

  • Wie schon in den vorherigen Beiträgen geschrieben, weiß ich nicht, ob relative Pfade funktionieren. Ich weiß nur von absoluten Pfaden, dass diese auf jeden Fall funktionieren. Da ich kein Windows habe, kann ich die Funktionsweise auf Windows auch nicht prüfen. Aber wenn relative Pfade funktionieren, dann ziemlich sicher vom distribution-Verzeichnis ausgehen und ganz sicher ohne das "core", denn das Verzeichnis gibt es im Installer, aber nicht in der installierten Version. Ich würde auch mal versuchen, das "\\" oder ".\\" am Anfang des Pfades wegzulassen. Und ja, die Erweiterungen direkt in das distribution-Verzeichnis zu legen, müsste auch funktionieren.

    P.S. Geht das alles nur bei der ESR Version oder auch bei der normalen Firefox Windows Version ?

    Abgesehen von der Policy, die Suchmaschine zu ändern, funktionieren alle Policies auch in der Mainstream-Version von Firefox und nicht nur in Firefox ESR.

  • Okay, danke Sören, also was nicht ging war, einfach das XPI in das distribution Verzeichnis zu legen und es mit:

    Code
    "Install": ["addon-name.xpi"],

    aufzurufen in der policy.json für die Installationszeile....
    Da hat er nichts installiert....
    Hmm, da ich ja das XPI File gleich mitliefern will und nicht weiss, wo die User das Firefox
    dann in welchem Pfad installieren wollen, kann ich ja keinen festen Pfad dort vorgeben, sondern muss
    wirklich einen relativen Pfad vorgeben....

    In welcher Log-Datei könnte ich denn noch nachschauen, ob er vielleicht den Pfad nicht findet ??
    Wie gesagt, nach der Installation von Firefox war dann nichts unter Addons zu finden und Aufruf von
    about:policies brachte unter Windwos10 eine Fehlermeldung: Error not found oder so...

    Danke Dir.

  • Wie man es auf macOS macht, bringt dir für Windows nicht viel, da es nicht übertragbar ist. Pfade sehen auf Windows anders aus. Aber die Erweiterungen würde man dort genauso ins distribution-Verzeichnis legen. Wie gesagt kann ich dir nichts dazu sagen, ob relative Pfade funktionieren, absolute Pfade funktionieren aber auch unter Windows. Was das Szenario betrifft, dass Firefox ja auch beispielsweise unter D:\ installiert sein könnte - sowas sollte man sowieso nie machen. Es gibt ein definiertes Programmverzeichnis und da gehören alle Anwendungen alleine schon aus Sicherheitsgründen rein.

    Ansonsten kan ich keine Hilfe dabei geben, wenn es um die Verteilung auf verschiedene Systeme geht, auch mit unterschiedlichen Installationsverzeichnissen auf unterschiedlichen Systemen. Da gibt es ganz bestimmt Lösungen, aber weder nutze ich das gleiche Betriebssystem noch habe ich mich jemals mit dem Deployment einer Firefox-Version befasst. Ich bin nur Entwickler der Erweiterung Enterprise Policy Generator, habe mit der Unternehmens-Verteilung aber gar nichts am Hut. ;)


  • Was spricht dagegen, unter Windows die Optionen zu MSI-Dateien, die Mozilla ja beschreibt, zu nutzen?


    Danke für die Anregung, Hast Du noch eine Idee dazu, wie ich das genau machen könnte ?

    und danke an Sören, ich werde mal schauen, ob ich ein Install.log File finde, so dass ich mal sehen kann, wo und wie
    das von der https Quelle installiert wurde und wo das Addon dann in welchen Pfad hingelegt wurde...

    Mann, jedes mal, wenn ich hier was posten will, haut mich dieser Scheiss Spamhaus Schutz als Blacklisted raus...
    was für eine Nerverei...
    Sind denn alle Adressen bei Versatel hier automatisch schon black gelistet oder wie ??

    Es kommt dauernd die Meldung :

    Deine IP-Adresse 87.123.192.130 wurde gesperrt, da sie auf der schwarzen Liste steht. Details findest du unter

    http://www.spamhaus.org/query/bl?ip=87.123.192.130.

  • Sturmvogel - steht doch da

    Zitat

    Hier sehen Sie ein Beispiel für eine gültige .mst-Datei, um zu illustrieren, wie die Optionen angepasst werden können, zusammen mit dem Verzeichnis, in dem MSI-Installationspakete für Firefox Nightly bezogen werden können:

    MST-Beispieldatei

    Verwendung eines externen MSI-Editors (z. B. Orca)


    MSI und co und Orca geht nicht in 2 Sätzen zu erklären. Für Orca braucht es das SDK (ISO).

    Vermutlich dürfte die policy.json einfacher sein, dafür kann man mit MSI wesentlich mehr anstellen - oder man zerlegt die Installation und baut sich was neues zusammen, es gibt genügend Programme, um ein MSI zu erstellen. Und das MSI lässt sich dann zB auch via AD verteilen. Kann sich jeder selbst erarbeiten, unheimlich breit gefächertes Gebiet.

    Wir sind keine Beschwerdestelle, hier gibt es nur Lösungen! Meine Glückszahl hier: 93.

  • Vermutlich dürfte die policy.json einfacher sein, dafür kann man mit MSI wesentlich mehr anstellen

    Mal davon abgesehen, dass du hier Äpfel mit Birnen vergleichst und beides einen vollkommen unterschiedlichen Zweck erfüllt, sich daher also bestenfalls ergänzt, aber das eine keine Alternative zum anderen ist, ist auch deine quantitative Aussage vollkommen falsch. Wesentlich mehr anstellen kann man ganz eindeutig mit der Datei policies.json (die auch nicht policy.json heißt). Die einzige Alternative zu policies.json auf Windows ist jedenfalls GPO. MSI-Installer sind eine ganz andere Baustelle.

    Und zu deinem "steht doch da" - Auf der verlinkten Seite steht eben nichts von dem, was der Themenersteller gefragt hat. Die Seite erklärt lediglich die vorhandenen Optionen von MSI-Installern.

  • Der Themenstarter war ja hartiberlin, nicht stelzenbein, an den die letzte Antwort gerichtet war.

    Lass mich mal resümieren - policy.json wird konkret auf Firefox über den Installationsordner. Beim MSI, sei es von Mozilla oder eine eigene Kreation, kann ich all das in eine Datei stellen, die muss natürlich noch zusammengezimmert werden aus der Vorlage. Ich will die JSON von deiner Erweiterung nicht kleiner reden, aber MSI hat deutlich Vorteile bei der Verteilung von Softwarepaketen im Netzwerk bzw bei einer Domäne. Ich habe mich nur damals für eine andere Option entschieden, Softwarepakete zu schnüren.

    Deine Erweiterung mag selbsterklärend sein, MSI benötigt zwangsweise Grundlagen. Hat beides seine Vor und Nachteile. Und nein, ich werde das nicht weiter erklären, weil das schlichtweg meinen zeitlichen Rahmen sprengt. und evtl. nicht weiter gefragt wird.

    Wir sind keine Beschwerdestelle, hier gibt es nur Lösungen! Meine Glückszahl hier: 93.

  • @.DeJaVue wenn man es mit 3 Sätzen erklären kann, wie man ein fertiges XPI Addon zu einer Firefox Installation integriert, so dass die bei der FF-Installation gleich mit installiert wird, wäre es nett, wenn Du es kurz schilderst mit der MSI Methode.
    Vielen Dank.
    P.S. Wie ich mit APP7z und den 7z.exe Befehle eine fertige Firefox-FileStruktur zu einem Installationsfile machen kann, weiss ich bereits. Ich müsste nur wissen, wo das XPI File in welches Verzeichnis muss und welche Files man wie editieren muss,
    damit das XPI gleich mit installiert wird.
    Vielen Dank. Gruss, Stefan.

  • Der Themenstarter war ja hartiberlin, nicht stelzenbein, an den die letzte Antwort gerichtet war.

    Der Nutzer stelzenbein hat in diesem Thread nicht einen einzigen Beitrag geschrieben. Daher bezweifle ich das aber mal ganz stark. Und nebenbei bemerkt ist es auch vollkommen unerheblich, an wen dein Beitrag gerichtet ist. Was du hier schreibst, stimmt einfach nicht und muss unabhängig vom Empfänger korrigiert werden.

    Lass mich mal resümieren - policy.json wird konkret auf Firefox über den Installationsordner.

    Nochmal: policies.json, nicht policy.json. Das ist wichtig. Die Datei funktioniert nur mit der korrekten Schreibweise.

    Beim MSI, sei es von Mozilla oder eine eigene Kreation, kann ich all das in eine Datei stellen, die muss natürlich noch zusammengezimmert werden aus der Vorlage. Ich will die JSON von deiner Erweiterung nicht kleiner reden, aber MSI hat deutlich Vorteile bei der Verteilung von Softwarepaketen im Netzwerk bzw bei einer Domäne.

    Ich habe keine Ahnung, was du mit "Ich will die JSON von deiner Erweiterung nicht kleiner reden" meinst, denn meine Erweiterung generiert lediglich, was man ansonsten von Hand schreiben müsste. Die Enterprise Policy Engine selbst wurde nicht von mir, sondern von Mozilla direkt in Firefox implementiert. Meine Erweiterung ist nur ein Hilfsmittel und überhaupt nicht notwendig. Daher, selbst wenn man an meiner Erweiterung irgendetwas kleinreden wollte, ginge das nicht, was diese Aussage völlig obsolet macht.

    Und nein, du kannst bei einem MSI-Installer eben nicht "all das in eine Datei stellen", was du mittels policies.json konfigurieren kannst und schon gar nicht wesentlich mehr als nur das, entgegen deiner Behauptung in deinem vorherigen Beitrag.

    Der Punkt war, dass dein Vergleich zwischen policies.json und MSI-Installern keinen Sinn ergibt, weil beides etwas vollkommen anderes ist. Daher ergibt auch deine Aussage keinen Sinn, MSI hätte deutliche Vorteile bei der Verteilung von Softwarepaketen im Kontext eines Vergleiches mit policies.json, weil policies.json mit der Verteilung nicht das Geringste zu tun hat.

    Nochmal, was ich bereits schrieb: MSI und Enterprise Policy Engine sind keine Alternativen zueinander, sie ergänzen sich bestenfalls.

    Deine Erweiterung mag selbsterklärend sein, MSI benötigt zwangsweise Grundlagen. Hat beides seine Vor und Nachteile.

    Schon wieder vergleichst du beides, als wären das Alternativen zueinander. Meine Erweiterung ist keine Alternative zu MSI. Zu sagen, beides hätte seine Vor- und Nachteile gegenüber dem jeweils anderem ergibt keinen Sinn.

    Du kannst eine AutoConfig-Datei oder die Datei policies.json mit einem MSI-Installer bündeln. Darum: Ergänzend. Keine Alternative zueinander. Das widerspricht völlig dem, was du hier schreibst. Und das MSI-Installer selbst für Anpassungs-Optionen haben, steht in dem Artikel, der hier bereits verlinkt worden ist. Den müsste man einfach nur lesen.

    Und nein, ich werde das nicht weiter erklären, weil das schlichtweg meinen zeitlichen Rahmen sprengt. und evtl. nicht weiter gefragt wird.

    Mal abgesehen davon, dass du sowieso erst einmal den Unterschied verstehen müsstest, bevor du irgendjemandem etwas darüber erklären könntest, musst du es mir sowieso nicht erklären. Ich befasse mich mit der Enterprise Policy Engine bereits seit dem Tag, an dem der erste Patch dafür in Firefox gelandet ist, und bin ja auch der Entwickler des Enterprise Policy Generators. Ich kenne den Unterschied daher ziemlich gut.

    Und falls du mir nicht glaubst, glaub Mozilla, die es wohl am besten wissen. Es wird schon einen Grund haben, wieso auch auf der Enterprise-Seite auf support.mozilla.org der Begriff MSI dort nicht fällt, wo es um die Anpassung von Firefox via Enterprise Policies oder AutoConfig geht (https://support.mozilla.org/en-US/products…tion-enterprise), dafür in einem anderen Artikel, wo es um die Anpassung des Installers geht, wo übrigens auch nochmal deutlich steht, dass darin eine Datei policies.json oder AutoConfig-Datei gebündelt werden kann (https://support.mozilla.org/en-US/kb/repac…ows-installer):

    Zitat

    Sometimes you might need to include changes you've made to Firefox in a new installer. This might be a policies.json file, AutoConfig changes or extensions.

    … womit wir wieder genau an dem Punkt sind: Du kannst policies.json in einem MSI-Installer ausliefern, aber beides nicht miteinander vergleichen, weil beides etwas vollkommen anderes ist.


  • hartiberlin:

    Für die Installation von Erweiterungen gibt es auch noch einen alternativen Weg, der ohne policies.json funktioniert:

    https://support.mozilla.org/en-US/kb/deplo…with-extensions

    Danke Sören, ja das hatte ich auch schon alles mal getestet, aber einfach nur das in die ID umgenannte idname.xpi File hat nicht geklappt...
    Musste man da nicht auch noch extra was in die policies.json Datei im /distribution Ordner rein schreiben, damit er das Addon überhaupt installiert ? Aus diesem Artikel geht das leider nicht hervor... hört sich so an, als ob man das Addon einfach nur ins
    /distribution/extensions Verzeichnis hinlegen muss und er installiert es von selbst ?
    Also braucht man da nicht auch noch ein policies.json oder Autoconfig File zusätzlich ??
    Leider gibt es bei den ganzen Versionen von Firefox ab Version 48 leider unterschiedliche Anleitungen, da sich da viel geändert hatte..
    Okay, werde es nochmal testen ohne policies.json und nochmal berichten... Danke erstmal.

    Wie man das alles zusammenpackt, was unter:
    https://support.mozilla.org/en-US/kb/repac…ndows-installer
    steht, funktioniert soweit, so mache ich es auch immer..