skrypz
Goto Top

Batch scipt (Firefox Update)

Hallo, ich habe ein kleines batch script das mir meinen Firefox auf eine bestimmte Version updateded bzw downgraded.

1. Wenn ich das script als Administrator starte schließt sich die cmd gleich wieder ohne irgendetwas zu machen. Anders herum wenn ich die Batch datei normal starte und dann das Admin kennwort eingeben führt es die installation aus.

2. Die mozilla.cfg und die autoconfig wird von unserem Daten-Server nicht in das Firefox-Verzeichnis kopiert. Fehlermeldung: "Zugriff verweigert". (Auch im Admin account)

3. Wenn ich beide Dateien wie bei 2. beschrieben von hand kopiere nimmt er mir bei meiner cfg Datei die konfig meiner Startseite nicht richtig. Der jeweilige Pfad für die Dateien ist aber richtig.

Könnte mir hier jemand weiterhelfen?

autoconfig.js
pref("general.config.obscure:value", 0);
pref("general.config.filename", "mozilla.cfg");

mozilla.cfg
Deaktiviert den Updater
lockPref("app.update.enabled", false);

Stellt sicher dass er tatsächlich abgestellt ist
lockPref("app.update.auto", false);
lockPref("app.update.mode", 0);
lockPref("app.update.service.enabled", false);

Deaktiviert 'Kenne deine Rechte' beim ersten Start
pref("browser.rights.3.shown", true);

Versteckt 'Was ist neu?' beim ersten Start nach jedem Update
pref("browser.startup.homepage_override.mstone","ignore");

Stellt eine Standard-Homepage ein - Nutzer können sie ändern
defaultPref("browser.startup.homepage", "*");

Verhindert die Frage nach der Installation des Flash Plugins
pref("plugins.notifyMissingFlash", false);

Deaktiviert den 'crash reporter'
lockPref("toolkit.crashreporter.enabled", false);
Components.classes["@mozilla.org/toolkit/crash-reporter;1"].getService(Components.interfaces.nsICrashReporter).submitReports = false;

Deaktiviert bei einem neuen Tap die "Wichtigen Seiten"
lockpref("services.sync.prefs.sync.browser.newtabpage.activity-stream.topSitesRows", false);

Deaktiviert die Pocket-API
lockpref("extensions.pocket.enabled", false);

Clipboard Events für fremde Webseiten deaktivieren
lockPref("dom.event.clipboardevents.enabled", false);

Spekulatives Laden von Webseiten beim darüberfahren deaktivieren
lockpref("network.http.speculative-parallel-limit", false);

Speicherung von Screenshots der besuchten Webseiten deaktivieren
lockpref("browser.pagethumbnails.capturing_disabled", false);

Mozillas Werbung nach einem Update jeglicher Form deaktivieren
lockpref("browser.startup.homepage_override.mstone", false);

Empfohlen von Pocket bei neuem Tap deaktivieren
lockPref("extensions.pocket.enabled", false);

firefoxinstall.ini
[Install]
; Semicolons can be used to add comments
InstallDirectoryName=Firefox Release
DesktopShortcut=false
StartMenuShortcuts=true
MaintenanceService=false
OptionalExtensions=false


Batch skript für das Up/downgrade
@echo off
:: Installationsskript für Mozilla Firefox CV (60.9.0esr) als EXE
:: Inkl. Migration von FFx86 > FFx64 oder FFx64 > FFx86
:: Inkl. Migration von FF-MSI-Installation > FF-EXE-Installation
:: Firefox Download: https://ftp.mozilla.org/pub/firefox/releases/
echo.
echo.
echo
echo Dateien werden initialisiert!
echo
echo.
echo.

:: Pfad für Installationsdatei (Clients brauchen Leserechte)
set FirefoxDir=I:\6-Software\1-windows\firefox\firefox60.9\

:: Dateiname des Firefox-Setups
set SetupFF=FirefoxSetup60.9.0esr
echo
echo Die Parameter fuer die Benutzer und Einstellungskonfiguration werden initialisiert.
echo
echo.
echo.

:: Definiere ob die Setup.exe Firefox x86 oder Firefox x64 beinhaltet
set SetupEnv=x64

:: Textdatei welche die aktuelle Firefox-Version beinhaltet
set CurVer=install.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

echo
echo Beginne Pruefroutine
echo
echo.
echo.
:: 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´

echo
echo Versuche System von alten Installationen zu bereinigen
echo
echo.
echo.
:: ==============================================================
:: 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
echo
echo Installation wird gestartet
echo

echo.
echo.
:: ==============================================================
:: 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
pause
exit

Content-Key: 534682

Url: https://administrator.de/contentid/534682

Printed on: April 23, 2024 at 12:04 o'clock

Member: sabines
sabines Jan 13, 2020 at 13:24:33 (UTC)
Goto Top
Moin,

ohne das jetzt komplett durchgelesen zu haben, warum nutzt Du nicht die MSI Variante des FF und die dazu gehörenden GPO Vorlagen, damit dürftest Du 90 % Deiner Anforderungen erschlagen können.

Automatische Updates könntest Du noch durch deaktivieren des Service verhindern.

Gruss
Member: miniversum
miniversum Jan 13, 2020 at 15:09:09 (UTC)
Goto Top
Zitat von @Skrypz:

1. Wenn ich das script als Administrator starte schließt sich die cmd gleich wieder ohne irgendetwas zu machen. Anders herum wenn ich die Batch datei normal starte und dann das Admin kennwort eingeben führt es die installation aus.

Starte mal die cmd und dann daraus die Batch. Dann wird die Batch zwar beendet aber nicht die cmd udn du solltest eine evtl. Fehlermeldung sehen können.

Es hilft sehr für das debugger das "@echo off" in ein "@echo on" zu ändern. Dann kannst Du sehen wo genau der Fehler passiert und ob evtl. eine Variable einen falschen oder unerwarteten Inhalt hat.

Gruß
...