Es ist wieder soweit, kürzlich veröffentlichte Mozilla die neue Version der Firefox ESR (Extended Support Release) Variante. Firefox 17.0.2 ESR ist vor allem für das Deployment in Unternehmen gedacht, wenn Stabilität und Sicherheit des Browsers wichtiger sind als neue Features und Spielereien.
Ich möchte kurz meine Verteilung hier für andere Administratoren bereitstellen.
Die Verteilung verläuft via Startscript in einer Active Directory Domäne mit 95% 32bit Windows 7 PCs.
Sie hat sich in der kompletten Firefox 10 ESR Reihe bereits als funktionstüchtig erwiesen und wurde seitdem immer wieder verbessert.
Wer sich schon etwas auskennt, hier direkt der Download:
firefox-17-esr [.zip]
Updates:
1.3 – Bug, der die Installation verhinderte, wenn kein Firefox auf dem Client installiert ist, behoben
1.4 – mozilla.cfg um 2 Einstellungen ergänzt, die 2 „Thanks for installing Firefox“ und „Congratulations on installing Firefox“ Fenster blockt
Das Paket besteht aus folgenden Dateien:
Firefox17.0.2.exe – Setup Datei
firefox-installer.bat – Setup Script
log.txt – Setup Log Datei
mozilla.cfg – Firefox Setup Config Dateien
install.ini – Firefox Setup Config Dateien
override.ini – Firefox Setup Config Dateien
local-settings.js – Firefox Browser Einstellungen, Achtung: neuer Unterordner! siehe unten
deniedPCs.txt – optional: Client Filter Config Datei
allowedPCs.txt – optional: Client Filter Config Datei
VersionCompare.exe – Versionsvergleichstool
VersionCompare-test.bat – kleines Readme- und Test Script für das Versionsvergleichstool
Das Script als Klartext zum Reinlesen:
Den Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.
@echo on Color 9f setlocal REM ******************************************* REM Title: Firefox ESR Silent Installer REM Author: Hannes Schurig REM Created: 08.12.2011 REM Changed: 11.01.2013 REM Version: 1.4 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=17.0.2 REM _______________________________________________________________ set wd=\\server\Firefox set toolsdir=\\server\Tools set log=\\server\Firefox\log.txt set instversion=0.0 REM Clientfilter: nur die Computer aus der allowedPCs.txt dürfen installieren ::for /f %%f in (%wd%\allowedPCs.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%\deniedPCs.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 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.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 REM Version gleich? if "%instversion%"=="%newversion%" echo %date% %time% - %computername% (%instversion%) hat bereits diese Version installiert. >> %log% & goto end REM Wenn Version nicht gleich: vergleiche Versionen mit dem Versionchecker %toolsdir%\VersionCompare.exe %instversion% %newversion% set versioncompare=%errorlevel% if %versioncompare%==0 echo %date% %time% - %computername% (%instversion%) hat bereits diese Version installiert. >> %log% & goto end if %versioncompare%==1 echo %date% %time% - %computername% (%instversion%) hat bereits eine neuere Version installiert. >> %log% & goto end echo %date% %time% - %computername% (%instversion%) startet die Firefox Installation... echo %date% %time% - %computername% (%instversion%) startet die Firefox Installation... >> %log% title Firefox wird installiert... echo Firefox wird installiert... REM aktuellste Version hier eintragen "%wd%\Firefox%newversion%.exe" -ms REM Install 32-bit customisations 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\preferences" REM Install 64-bit customisations 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\preferences" REM Removes Firefox Desktop Icon - Windows XP ::if exist "%allusersprofile%\Desktop\Mozilla Firefox.lnk" del "%allusersprofile%\Desktop\Mozilla Firefox.lnk" /S REM Removes Firefox Desktop Icon - Windows 7 ::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
nötige Änderungen am Script
Zeile 17: die gewünschte Version muss hier stehen, in der “korrekten” Form, wie sie auch in der Registry zu finden ist. Die Installer .exe muss ebenfalls korrekt benannt werden.
Zeile 20-22: Pfade anpassen, Zeile 20+22 müssen auf den Firefox Ordner auf eurem Server/Netzlaufwerk zeigen, Zeile 21 auf den Ordner, der die VersionCompare.exe (im Download enthalten) beinhaltet
Zeile 25-30: Clientfilter, ggf. entfernen wenn nicht gewünscht
Zeile 36-48: Versionsvergleich der installierten Version mit der verfügbaren Version, ggf. anpassen oder entfernen. Aktuell wird die 17.0.2 ESR installiert wenn auf dem PC keine oder eine ältere Version gefunden wurde, nicht aber wenn die gleiche oder eine neue (z.B. 18.0 nicht ESR) gefunden wurde.
Zeile 69-73: Löschen des Desktop Icons ist deaktiviert (Icon bleibt also), ggf. die Kommentarzeichen entfernen
Ein paar zusätzliche Informationen zur Funktionsweise und den Einstellungen findet ihr auch in meinen damaligen Firefox Deployment Posts.
Noch eine Anmerkung: Das Verzeichnis .\defaults\pref\ ist outdated! Dort gelagerte Anpassungsdateien (wie die local-settings.js) werden ignoriert. Diese Anpassungen müssen jetzt in .\defaults\preferences\ abgelegt werden. Dort werden die Änderungen auch beachtet. Von mir getestet und bestätigt. via
Die Verteilung ist getestet und funktioniert.
Ein seltsames Problem bleibt jedoch: nach der Verteilung, beim ersten Start des Firefox, wird ein Tab mit dem Hinweis „Your Firefox is out of date“ geöffnet. Und das obwohl Hilfe->Über Firefox bestätigt, dass die Version 17.0.2 im esr Channel momentan die aktuellste Version ist. Wenn jemand weiß wie ich das Anzeigen dieses Tabs verhindern kann, bitte Bescheid sagen.
Update: Diese Verteilung funktioniert übrigens auch wieder 1:1 für Thunderbird 17.0.2 ESR, gerade getestet. Einfach das Script an den 2, 3 Stellen wo „FIrefox“ zu „Thunderbird“ abändern, fertig. Die Anpassungen der mozilla.cfg müssen natürlich weg, die sind Firefox spezifisch. In der .cfg des Thunderbird hab ich aber auch nur 1 Zeile, die die globale Suche deaktiviert: pref(„mailnews.database.global.indexer.enabled“, false);
Einige Hinweise für eine zentrale Verteilung per Script (wie man dieses aufruft ist ja dann erst einmal Nebensache) insbesondere zur Verteilung von zentralen Einstellungen liefert auch der Wikieintrag von wpkg unter http://wpkg.org/Thunderbird
Es wäre interessant, Firefox vor dem Ausrollen so anzupassen, das beispielsweise keine Plugins installiert oder bestimmte ignoriert werden, z.B. Flash oder Java.
lockPref(„xpinstall.enabled“, false); geht bei den neueren Versionen ja leider auch nicht mehr.
Gruss G
@Konrad:
vielen Dank für den Link, kannte ich noch gar nicht. Hab das mal durchgeguckt, die Informationen zu Firefox sind ja eher spärlich aber immerhin hab ich die 2 Zeilen
pref(„app.update.showInstalledUI“, false);
pref(„browser.startup.homepage_override.mstone“, „ignore“);
in die .cfg übernommen. Werde den Download noch updaten.
@Guenny:
Während meiner Recherche heute fand ich etwas, was dir vielleicht hilft. Hau mal in die override.ini folgende Zeile:
EnableExtensionManager=false
Das soll angeblich folgendes bewirken: „This will prevent the addition or removal of Extensions.“
Klingt doch gut. Wenn du das bereits bei der Installation einstellen willst (und es funktioniert) kannst du das auch in die install.ini schreiben.
Den Hinweis fand ich hier.
Klasse, danke!!! Frage: gibts das auch für Thunderbird???
Ja. Siehe der schon gezeigte Link http://wpkg.org/Thunderbird
Jop, siehe letzter Absatz im Artikel 😉
Der Spaß funktioniert aber nicht für Windows 7 😉
Muss daher noch angepasst werden.
Die Verteilung funktioniert einwandfrei unter Windows 7, siehe auch der Satz „Die Verteilung verläuft via Startscript in einer Active Directory Domäne mit 95% 32bit Windows 7 PCs.“.
Also wenn es bei dir nicht funktioniert ist es ein lokales Problem. Gibts Fehlermeldungen oder irgendwas woran wir arbeiten könnten?
Hallo,
ist es damit möglich auch addons direkt mitzuverteilen? wenn ja, wie?
wie bekomme ich die user-prefs hinein – muss ich die in local-settings.js reinkopieren?
danke im voraus!
Also mit den Plugins kann ich nicht helfen, die habe ich noch nicht mitverteilt, da kümmert sich jeder User selbst drum.
Die globalen Einstellungen, die bei der Installation auf Firefox angewendet werden sollen, müssen in die local-settings.js. Diese gelten dann für alle Nutzer dieser Firefox Installation.