Mozilla bietet für beide Produkte keine .msi und die Dokumentationen sind recht dürftig, eine Verteilung der Software habe ich daher lange vor mir hergeschoben. Es ist aber einfach und zusätzlich zur aktuellsten Version kann man auch gleich Standardeinstellungen für alle Benutzer verteilen.
Ich möchte direkt die Seite verlinken, die mir die wichtigsten Fakten für eine erfolgreiche Verteilung vermittelt hat: Techblog mockbox.net liefert im Artikel Install and Configure Firefox 8 silently die Batchgrundlage und Tipps kurz und knapp. Vielen Dank.
Zutaten:
– Firefox/Thunderbird Installer, „Firefox8.0.1.exe“
– Installer Batch, „firefox-installer.bat“
– Einstellungsdatei, „local-settings.js“
– Einstellungsdatei, „override.ini“
– Einstellungsdatei, „mozilla.cfg“
– Logdatei, „log.txt“
– optional: Clientfilter, „allowed.txt“
– optional: Clientfilter, „denied.txt“
Zubereitung:
Alle Zutaten in einen Ordner, der von allen Clients erreichbar ist (Netzlaufwerk)!
Nun die Batch Datei öffnen und wir schauen mal rein:
Den Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.
@echo on Color 9f setlocal REM ******************************************* REM Title: Firefox Silent Installer REM Author: Hannes Schurig REM Created: 08.12.2011 REM Changed: 14.12.2011 REM Version: 1.1 REM Quelle: http://mockbox.net/configmgr-sccm/174-install-and-configure-firefox-silently.html REM ******************************************* REM _______________________________________________________________ REM WICHTIG! Hier die aktuelle zu verteilende Version eingeben. REM Die Installerdatei muss so benannt sein: Firefox[Version].exe set newversion=10.0.2 REM _______________________________________________________________ set wd=\\server\pfad\Firefox set log=\\server\pfad\Firefox\log.txt set instversion=0 REM Clientfilter: nur die Computer aus der allowedPCs.txt dürfen installieren ::for /f %%f in (%wd%\allowed.txt) do if "%computername%"=="%%f" goto install ::goto end REM Clientfilter: die Computer aus der deniedPCs.txt dürfen nicht installieren for /f %%f in (%wd%\denied.txt) do if "%computername%"=="%%f" goto end :install title Firefox Installation wird überprüft... echo Firefox Installation wird überprüft... REM prüfe ob eine 32bit Version von Firefox Version schon installiert ist for /f "tokens=1,2,3 delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox" /v "CurrentVersion"^|findstr "CurrentVersion"') do set instversion=%%c REM falls keine 32bit Version von Firefox gefunden wurde, prüfe 64bit if "%instversion%"=="0" for /f "tokens=1,2,3 delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox" /v "CurrentVersion"^|findstr "CurrentVersion"') do set instversion=%%c if %instversion% GEQ %newversion% echo %date% %time% - %computername% hat bereits diese oder eine neuere Version installiert. >> %log% & goto end echo %date% %time% - %computername% startet die Firefox Installation... echo %date% %time% - %computername% startet die Firefox Installation... >> %log% title Firefox wird installiert... echo Firefox wird installiert... REM Format des Installers: Firefox[Version].exe - "Firefox10.0.2.exe" "%wd%\Firefox%newversion%.exe" -ms REM 32bit Einstellungsdateien kopieren if exist "%programfiles%\Mozilla Firefox\" copy /Y "%wd%\override.ini" "%programfiles%\Mozilla Firefox\" if exist "%programfiles%\Mozilla Firefox\" copy /Y "%wd%\mozilla.cfg" "%programfiles%\Mozilla Firefox\" if exist "%programfiles%\Mozilla Firefox\" copy /Y "%wd%\local-settings.js" "%programfiles%\Mozilla Firefox\defaults\pref" REM 64bit Einstellungsdateien kopieren if exist "%ProgramFiles(x86)%\Mozilla Firefox\" copy /Y "%wd%\override.ini" "%ProgramFiles(x86)%\Mozilla Firefox\" if exist "%ProgramFiles(x86)%\Mozilla Firefox\" copy /Y "%wd%\mozilla.cfg" "%ProgramFiles(x86)%\Mozilla Firefox\" if exist "%ProgramFiles(x86)%\Mozilla Firefox\" copy /Y "%wd%\local-settings.js" "%ProgramFiles(x86)%\Mozilla Firefox\defaults\pref" REM Desktop Icon löschen - Windows XP - deaktiviert ::if exist "%allusersprofile%\Desktop\Mozilla Firefox.lnk" del "%allusersprofile%\Desktop\Mozilla Firefox.lnk" /S REM Desktop Icon löschen - Windows 7 - deaktiviert ::if exist "C:\Users\Public\Desktop\Mozilla Firefox.lnk" del "C:\Users\Public\Desktop\Mozilla Firefox.lnk" echo %date% %time% - %computername% hat die Installation abgeschlossen... echo %date% %time% - %computername% hat die Installation abgeschlossen... >> %log% :end endlocal
Updates:
- 08.03. GEQ statt == Überprüfung der Versionen, Initialisierung der instversion mit 0 statt 999
- 27.03. 64bit Überprüfung ergänzt
Batch anpassen:
Zeile 17: die gewünschte Version muss hier stehen, in der „korrekten“ Form, wie sie auch in der Registry zu finden ist (siehe Zeile 36)
Zeile 20+21: Pfade anpassen
Zeile 24-29: Clientfilter, ggf. entfernen wenn nicht gewünscht
Zeile 62+65: Löschen des Desktop Icons ist deaktiviert (Icon bleibt also), ggf. die Kommentarzeichen entfernen
Die mozilla.cfg enthält gewünschte Einstellungen, die auf der about:config Seite von Firefox zu finden sind. Beispiel:
Den Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.
//Firefox Default Settings // Startseite pref("browser.startup.homepage","http://www.iqb.hu-berlin.de"); // Standard Browser Check deaktivieren pref("browser.shell.checkDefaultBrowser", false); // Update Check deaktivieren pref("app.update.enabled", false); // stops the 'know your rights' button from displaying on first run pref("browser.rights.3.shown", true); // stops the request to send performance data from displaying pref("toolkit.telemetry.prompted", true); // Disable blinking text: pref("browser.blink_allowed", false); // Disable JS windows popping up without direct action from the user // (as lots of porn and spam sites do): pref("dom.disable_open_during_load", true); // Syntax highlighting in View Source. pref("view_source.syntax_highlight", true);
Die override.ini und die local-settings.js müsst ihr nicht anpassen. Ihr könntet die mozilla.cfg umbenennen und das in der local-settings.js anpassen aber naja, wozu? 😉
Genug angepasst, das sollte reichen!
Funktionsweise:
Per Clientfilter kann man steuern, welche Computer die Installation übernehmen sollen. Einer der beiden Clientfilter kann aktiv sein. Der 2. Clientfilter blockiert genannte PCs; ist die denied.txt also leer werden alle PCs bedient. Das ist vermutlich gewünscht.
Ist die Installation für den PC erlaubt prüft der Installer zuerst, welche Firefox Version installiert ist. Dies wird aus der Registry ausgelesen. Ist nicht die gewünschte Version (Zeile 17) installiert geht es weiter zur eigentlichen Installation.
Mit dem -ms Parameter wird Firefox ohne Oberfläche silent mit Standardparametern installiert. Es ist auch möglich die Installation mit einer .ini Datei anzupassen.
Danach werden die 3 Einstellungsdateien kopiert und ggf. das Desktop Icon gelöscht.
Alle Einstellungen der mozilla.cfg werden bei jedem Firefox Start gesetzt und sind damit erzwungen solange die .cfg Datei im Verzeichnis bleibt.
Batch in die Startscripts der Gruppenrichtlinie und fertig!