Hier findet ihr ein Skript welches ich bereits länger zur Installation von Firefox verwende und nun erweitert habe, um auch eine Art "Migration" durchzuführen, ob man jetzt von einer x86-Installation von Firefox auf die x64 wechseln möchte (was wohl meistens der Fall sein dürfte) oder eben umgekehrt. Das Skript ist in Deutsch kommentiert, ich geh in diesem Artikel auf die einzelnen Punkte ein, falls jemand Bedarf hat, das Skript auch zu verstehen und nicht nur einzusetzen.
Was macht dieses Skript alles?
Es installiert sowohl die x86 als auch die x64-Variante des Browser ohne Userinteraktion (silent) und schafft es dabei auch, von einer Version zur anderen zu migrieren, ohne dass man am Ende beide Versionen installiert hat. Userdaten bleiben dabei bestehen, Altlasten werden deinstalliert und entfernt. Zudem werden alle nötigen Dateien erzeugt/kopiert, die nötig sind, um Firefox mit vordefinierten Einstellungen zu versorgen (das was man für Windows und Office mit Gruppenrichtlinien macht). Da wir Admin sind und unsere User in der Regel nicht, wollen wir selbst die Updates auslösen, das Skript unterbindet an mehreren Stellen das Auto-Update und entfernt den sog. Maintenance Service.
Was kann das Skript (noch?) nicht?
Das Skript deckt aktuell meine eigenen Bedürfnisse ab, jedoch gibt es natürlich mehrere Szenarien, die es in anderen Umgebungen abzufangen gilt. Geplant ist z. B. bei Fehlen der der helper.exe (wird zwingend benötigt um Firefox zu deinstallieren) einen Versuch über WMIC zu starten. Auch habe ich geplant einen Switch für das Erzwingen der Deinstallation einzubauen, damit bei jedem Update vorher deinstalliert wird. Ggf. könnte man ebenfalls noch einen Schalter einbauen, der zu setzen ist, wenn man auch die Userdaten zurückgesetzt haben möchte, aber so etwas kann auch schnell nach hinten losgehen und dann ist das Geschrei groß ;-)
Wofür ist das Skript gedacht?
Das Skript richtet sich in erster Linie an Admins, die per GPO-Startup-Skript Firefox auf Clients installieren möchten und dabei auch gewisse Konfigurationen im Voraus vornehmen möchten. Das Skript läuft dann als Startup-Skript, also das was der Computer macht, wenn er dem Benutzer anzeigt "Bitte warten", bevor dieser sich an Windows anmelden kann. Es ist keine Usereingabe nötig.
Hier der Stand meines Skripts vom 17.08.2017
:: Installationsskript für Mozilla Firefox CV (Current Version) als EXE
:: Inkl. Migration von FFx86 > FFx64 oder FFx64 > FFx86
:: Inkl. Migration von FF-MSI-Installation > FF-EXE-Installation
:: Firefox EXE-Download: https://www.mozilla.org/de/firefox/all/?q=German
:: (C) by Snaker @ https://snakerl.blogspot.de/
:: ============================================================================
:: Definiere Variablen (müssen/dürfen an eigene Umgebung angepasst werden)
:: ============================================================================
:: Pfad für Installationsdatei (Clients brauchen Leserechte)
set FirefoxDir=\\deinserver.dom.local\share$\firefox
:: Dateiname des Firefox-Setups
set SetupFF=FirefoxSetup_x64.exe
:: Definiere ob die Setup.exe Firefox x86 oder Firefox x64 beinhaltet
set SetupEnv=x64
:: ============================================================================
:: Definiere statische Variablen (sollten nicht geändert/umbenannt werden)
:: ============================================================================
:: Textdatei welche die aktuelle Firefox-Version beinhaltet
set CurVer=CurrentVersion.txt
:: Ini-Datei welche man als Antwortdatei für das Firefox-Setup hinterlegt
:: Ini MUSS vorhanden sein, wenn keine Parameter gewünscht, dann Inhalt auskommentieren
set INI=firefoxinstall.ini
:: Die Datei autoconfig.js legt fest, welche Konfigdatei für die FF-Benutzereinstellungen verwendet werden sollen
set ACJS=autoconfig.js
:: Die Datei mozilla.cfg behinhaltet die FF-Benutzereinstellungen
set CFG=mozilla.cfg
:: ============================================================================
:: Beginne Prüfroutine
:: ============================================================================
:: Prüfe ob Netzwerkverbindung erreichbar ist, wenn nicht, breche ab
if not exist "%FirefoxDir%" goto Ausgang
:: Wenn Setup x64 ist und Firefox.exe x86 beende das Skript
if %SetupEnv%==x64 if %PROCESSOR_ARCHITECTURE%==x86 goto Ausgang
:: Lese aktuelle Version aus TXT
for /f "usebackq delims=" %%i in (%FirefoxDir%\%CurVer%) do @set "CurrentfirefoxVersion=%%i"
:: Definiere Variable ProgFiles
if %SetupEnv%==x86 set ProgFiles=%ProgramFiles(x86)%
if %SetupEnv%==x64 set ProgFiles=%ProgramFiles%
:: Manchmal gibt es bei einer Migration Überreste (Mozilla Ordner, CurrentVersion.txt) die man evtl. bereinigen muss
if not exist "%ProgramFiles(x86)%\Mozilla Firefox\firefox.exe" if exist "%ProgramFiles(x86)%\Mozilla Firefox\%CurVer%" del /F /Q /S "%ProgramFiles(x86)%\Mozilla Firefox\%CurVer%"
if not exist "%ProgramFiles%\Mozilla Firefox\firefox.exe" if exist "%ProgramFiles%\Mozilla Firefox\%CurVer%" del /F /Q /S "%ProgramFiles%\Mozilla Firefox\%CurVer%"
:: Prüfe ob Programmordner vorhanden ist: wenn ja, lese Versionsdatei aus, wenn nicht, installiere
if not exist "%ProgFiles%\Mozilla Firefox" (
goto Uninstall) else (
for /f "usebackq delims=" %%i in ("%ProgFiles%\Mozilla Firefox\%CurVer%") do @set "InstalledfirefoxVersion=%%i"
)
:: Vergleiche verfügbare mit installierter Version, wenn beide gleich, dann beende Skript
if "%InstalledfirefoxVersion%"=="%CurrentfirefoxVersion%" goto Ausgang
:: ==============================================================
:: Versuche System von alten Installationen zu bereinigen
:: ==============================================================
:Uninstall
:: Aktiv laufendes Programm beenden
:: TASKKILL /IM firefox.exe /F
:: MSI-Uninstall
:: Wird nur benötigt, falls Firefox mal per MSI installiert wurde (Userdaten bleiben bestehen)
:: WMIC /interactive:off product where "name like '%%Firefox%%'" call uninstall /nointeractive
:: EXE-Uninstall
:: Wenn %SetupEnv%=x86 dann deinstalliere Firefox x64 bzw. bei x64 deinstalliere Firefox x86 (Userdaten bleiben bestehen)
if %SetupEnv%==x86 if exist "%ProgramFiles%\Mozilla Firefox\uninstall\helper.exe" "%ProgramFiles%\Mozilla Firefox\uninstall\helper.exe" -ms
if %SetupEnv%==x86 if exist "%ProgramFiles%\Mozilla Firefox" Timeout 10
if %SetupEnv%==x86 if exist "%ProgramFiles%\Mozilla Firefox" rd /S /Q "%ProgramFiles%\Mozilla Firefox"
if %SetupEnv%==x64 if exist "%ProgramFiles(x86)%\Mozilla Firefox\uninstall\helper.exe" "%ProgramFiles(x86)%\Mozilla Firefox\uninstall\helper.exe" -ms
if %SetupEnv%==x64 if exist "%ProgramFiles(x86)%\Mozilla Firefox" Timeout 10
if %SetupEnv%==x64 if exist "%ProgramFiles(x86)%\Mozilla Firefox" rd /S /Q "%ProgramFiles(x86)%\Mozilla Firefox"
:: Updatedienst "Maintenance Service" in bestehender Firefox-Installation deinstallieren falls vorhanden
If exist "%ProgFiles%\Mozilla Maintenance Service\Uninstall.exe" "%ProgFiles%\Mozilla Maintenance Service\Uninstall.exe" /S
Timeout 2
:: ==============================================================
:: Installieren
:: ==============================================================
:: Silent Installation des Setups
:Install
"%FirefoxDir%\%SetupFF%" /INI="%FirefoxDir%\%INI%"
if errorlevel 0 if exist "%ProgFiles%\Mozilla Firefox" copy /Y "%FirefoxDir%\%CurVer%" "%ProgFiles%\Mozilla Firefox\%CurVer%"
:: Konfiguration verteilen
if exist "%ProgFiles%\Mozilla Firefox" copy /Y "%FirefoxDir%\%CFG%" "%ProgFiles%\Mozilla Firefox\%CFG%"
if exist "%ProgFiles%\Mozilla Firefox\defaults\pref" copy /Y "%FirefoxDir%\%ACJS%" "%ProgFiles%\Mozilla Firefox\defaults\pref\%ACJS%"
:: Sofern der Updaterdienst "Maintenance Service" mit installiert wurde, wieder entfernen
If exist "%ProgramFiles(x86)%\Mozilla Maintenance Service\Uninstall.exe" "%ProgramFiles(x86)%\Mozilla Maintenance Service\Uninstall.exe" /S
If exist "%ProgramFiles%\Mozilla Maintenance Service\Uninstall.exe" "%ProgramFiles%\Mozilla Maintenance Service\Uninstall.exe" /S
:Ausgang
exit
Ich habe eine ZIP bereitgestellt, die alle Konfigurationsdateien enthält. Die Datei kann hier heruntergeladen werden:
DOWNLOAD
Der Link führt zu einer Google-Drive Seite, dort befindet sich die ZIP-Datei.In dieser ZIP findet man Folgendes:
- Ein Ordner namens "Verknüpfungen zu den Konfigdateien"
- autoconfig.js > verweist auf eine mozilla.cfg
- CurrentVersion.txt > Wichtig, das ist ein wichtiger Teil dieses Automatismuses. Hier muss die aktuell verteilte Version von Firefox händisch gepflegt werden. Es reicht (leider) nicht, nur die Setup.exe auszutauschen, sondern es muss auch diese Text-Datei angepasst werden. In der Praxis hat sich das bei mir in der Firma bewährt.
- firefoxinstall.ini > wird als Antwortdatei für die Setup.exe von Firefox verwendet, ich habe darin nur eingestellt, dass der Maintenance-Dienst nicht mit installiert wird
- InstallFirefox-x64.bat > das eigentliche Skript, welches ich aber auch hier oben in Klartext bereitgestellt habe
- mozilla.cfg > hier werden die Einstellungen definiert, mit denen Firefox später starten soll, z. B. das Deaktivieren des autom. Updates. Die Einstellungen können erzwungen werden oder man überlässt dem User, ob er sie später selbst ändert. Mozilla erklärt den Inhalt seiner Konfigdatei hier. Diese Datei sollte jeder für sich durchlesen um zu entscheiden, ob er sie so verteilen möchte oder ggf. Einstellungen entfernen bzw. eigene hinzufügen möchte.
Ich erkläre kurz die Bereiche in der Batch, für diejenigen, die das interessiert:
"Definiere Variablen"
Hier könnt ihr als Admins euren Servershare hinterlegen, den Namen der Setup.exe und ob euer Firefox in x64 oder x86 installiert werden soll.
"Definiere statische Variablen"
Hier werden die Namen der Dateien definiert, nicht ändern!
"Beginne Prüfroutine"
Das Skript überprüft ob bereits Firefox installiert ist, ob es die Version auslesen kann (anhand der CurrentVersion.txt, siehe oben). Sollte das Skript x64-Firefox installieren wollen, das System ist aber x86 wird abgebrochen. Wenn festgestellt wird, dass die aktuelle Firefoxversion bereits installiert ist, wird Skript ebenfalls beendet.
"Versuche System von alten Installationen zu bereinigen"
Sofern x64 installiert wird, wird geschaut, ob x86 installiert ist und dann deinstalliert und andersherum, denn wir wollen ja eine saubere Migration und nur eine Version auf dem Rechner.
"Installieren"
Unbeaufsichtigte Installation findet statt, die Konfigurationsdateien werden in ihre Ordner kopiert und am Ende wird geschaut, ob der Maintenance-Dienst auch wirklich nicht mit ins System gekommen ist, wenn doch wird er deinstalliert.
Zu guter Letzt: Was brauche ich damit das Skript als GPO im Unternehmen läuft?
Einen Testclient der einer AD-Gruppe zugeordnet ist, nennen wir die Gruppe "FirefoxTest-Installation". Im AD suchen wir die OU, in der sich der Testclient befindet und erstellenund verknüpfen gleichzeitig eine neue GPO, Namen eindeutig vergeben: Firefox-Testinstallation. GPO anklicken und im Tab Bereich unten bei der Sicherheitsfilterung die Authentifizierten Benutzer rausschmeißen, über hinzufügen unsere FirefoxTest-Installation-AD-Gruppe einfügen. Im Tab "Delegierung" rechts unten auf Erweitert > Authentifizierte Benutzer hinzufgen mit Lese-Rechten und mit OK abschließen.
Nun die GPO bearbeiten: Computerkonfiguration > Richtlinien > Windows-Einstellungen > Skripts > Starten > Doppeklick. Hier im Fenster auf "Dateien anzeigen". In das nun erscheinende Explorer-Fenster kopiert hier eure Batch-Datei rein und macht den Explrer zu. Im Fenster "Eigenschaften von Starten" wählt ihr Hinzufügen und wählt das nun dort erscheinende Skript aus und bestätigt alle Fenster mit OK.
Wer möchte, der kann auch noch unter "Computerkonfiguration> Einstellungen > Dateien" die Dateien autoconfig.js nach C:\Program Files\Mozilla Firefox\defaults\pref\ und die mozilla.cfg nach C:\Program Files\Mozilla Firefox\ (bzw. ProgramFiles(x86) bei der 32bit Installation von Firefox) kopieren lassen. Da empfehle ich noch die Zielgruppenadressierung auf Elementenebene: Dateiübereinstimmung, die Dateien also erst kopieren, wenn die Ordner dafür auch bestehen.
Ich hoffe das hilft dem Einen oder Anderen.
Beste Grüße
Snaker
Snaker'S It-Allerlei: Mozilla Firefox - Installation, Migration Und Update Über Batch-Skript (X86 Auf X64 Und X64 Auf X86) >>>>> Download Now
AntwortenLöschen>>>>> Download Full
Snaker'S It-Allerlei: Mozilla Firefox - Installation, Migration Und Update Über Batch-Skript (X86 Auf X64 Und X64 Auf X86) >>>>> Download LINK
>>>>> Download Now
Snaker'S It-Allerlei: Mozilla Firefox - Installation, Migration Und Update Über Batch-Skript (X86 Auf X64 Und X64 Auf X86) >>>>> Download Full
>>>>> Download LINK kH