Table of Contents

Mozilla Firefox

Thomas_H 2011/10/27 09:24

Tested with opsi 4.0.1
requiredWinstVersion >= 4.10.8.6
Download Setup-Files at http://www.mozilla.org//

Last Check
Thomas_H 2019/05/14 12:03

Hier kommt eine erweitere Version, welche auch ein zuvor eingerichtetes Profil berücksichtigt.

  1. Firefox installieren
  2. Add-ons herunterladen und installieren (empfohlen: uBlock Origin, HTTPS Everywhere, Privacy Badger)
  3. Firefox den Erfordernissen anpassen (zB. Proxy etc.)

Wichtig: Sind Datenschutzrichtlinien besonders zu beachten, muss bei Firefox ab V.13 unter Umständen
die Übersicht beim öffnen eines neuen Tabs, bzw. neuen Fensters abgeschaltet werden, weil möglicherweise
der Zugang zu passwortgeschützten Seiten mit gespeichert wird! Dazu in der Menüleiste “about:config”
eingeben und mit der Maus doppelt auf den Eintrag browser.newtab.url klicken und damit den Wert von about:newtab auf “about:blank ändern”

  1. Profil des aktuellen Nutzers kopieren. (Win7/10: C:\Users\<name>\AppData\Roaming\Mozilla\Firefox\Profiles)

This is an extended Version which also installs a defined profile.

  1. Install Firefox
  2. download and install add-ons (recommended: uBlock Origin, HTTPS Everywhere, Privacy Badger)
  3. set preferences for firefox (i.e. proxy etc.)

Attention: if you have to follow privacy policy, so for Firefox V.13 and higher you have to switch
off the overview which is shown when opening a new window or tab. Enter a 'about:config' in addressline
and do a doubleclick on the entry browser.newtab.url, so it changes from 'about:newtab' to 'about:blank'

  1. copy profile of actual user.

tree: ├ delsub.ins ├ firefox.bmp ├ firefox-profile (THIS is the directory with the copied profile!) ├ Firefox Installer.exe ├ setup.ins └ uninstall.ins

setup.ins

[Initial]
LogLevel=2
;  Log Errors in Logfile but don't abort:
ExitOnError=false
; Show syntax errors in the script:
ScriptErrorMessages=on
; Dont trace step by step through the script:
TraceMode=off
; let started programs run in front of the winst window
StayOnTop=false
 
[Aktionen]
DefVar $ProductId$
DefVar $InstallDir$
DefVar $NewExe$
DefVar $PRODUCTPATH$
DefStringList $profiles$
DefVar $akt_profile_ini$
DefVar $rel_prefs_path$
DefVar $akt_prefs_path$
DefVar $TEMP$
DefVar $OS$
DefVar $UninstallCommand$
DefVar $MozInstallDir$
DefVar $MozVersion$
DefVar $MozInstallPathRegKey$
DefVar $PROXY_HOSTNAME_OR_IP$
DefVar $PROXY_PORT$
DefVar $NOPROXY_HOSTS$
DefVar $PREF_FILE$
DefStringList $languageInfo$
DefVar $language$
DefVar $AppData$
DefVar $SilentSwitch$
DefVar $ExitCode$
DefVar $FIREFOXVER$
 
 
; ----------------------------------------------------------------------
Set $TEMP$ = EnvVar("TEMP")
Set $PRODUCTPATH$="%ProgramFilesDir%\Mozilla Firefox"
Set $MozInstallDir$ = $PRODUCTPATH$
set $InstallDir$=$PRODUCTPATH$
set $NewExe$= $PRODUCTPATH$+"\"
set $ProductId$ = "firefox"
set $OS$ = GetNTVersion
set $FIREFOXVER$ = "Firefox Installer.exe"
set $SilentSwitch$ = "-ms"
; ----------------------------------------------------------------------
; Haben wir genug Speicherplatz?
if not(HasMinimumSpace ("%SYSTEMDRIVE%", "30 MB"))
   LogError "Nicht gengend Platz auf C: . 30 MB auf C: fuer Firefox erforderlich."
   isFatalError
   comment "Bearbeitung beenden und Produktschalter auf failed setzen"
else
   comment "show product picture"
   ShowBitmap /3 "%scriptpath%\firefox.bmp" "Firefox"
   if FileExists("%ScriptPath%\delsub.ins")
       comment "start delsub.ins"
       sub "%ScriptPath%\delsub.ins"
   endif
   comment "Message at install time:"
   Message "Installing Firefox..."
   comment "kill a running firefox"
   killtask "firefox.exe"
   comment "check for depotshare"
   if not (FileExists("%SCRIPTPATH%"))
       DosInAnIcon_TryToReconnect
   endif
 
   comment "start setup program"
   Files_copy_local
   Winbatch_firefox
   sub_check_exitcode
   comment "kill a running firefox"
   killtask "firefox.exe"
 
   if not(FileExists($NewExe$))
       logError "Fatal: After Installation "+$NewExe$+" not found"
       isFatalError
   endif
 
   comment "del temporary files"
   Files_del
endif
 
 
[Files_copy_local]
copy -x "%SCRIPTPATH%\$FIREFOXVER$" c:\tmp
copy -s "%scriptpath%\firefox-profile\*" "$InstallDir$\defaults\profile\."
 
[Files_del]
delete -f "c:\tmp\$FIREFOXVER$"
 
[Winbatch_firefox]
; see http://wiki.mozilla.org/Installer:Command_Line_Arguments
"c:\tmp\$FIREFOXVER$" $SilentSwitch$
 
[dosbatch_profiledir]
@echo off
dir "%ProfileDir%" /b
 
[DosInAnIcon_TryToReconnect]
net use
set TIMEOUT=
:TRY
    if exist "%SCRIPTPATH%\." goto READY
    %ScriptDrive%
    set TIMEOUT=%TIMEOUT%1
    if %TIMEOUT% == 1111111111111111 goto READY
    sleep 1
    net use
    goto TRY
:READY
 
[PatchTextFile_profile_proxy_file]
Set_Netscape_User_Pref ("network.proxy.type", 2)
Set_Netscape_User_Pref ("network.proxy.autoconfig_url", "file:///$PROXY_HOSTNAME_OR_IP$")
 
[sub_check_exitcode]
comment "test for installation success via exit code"
set $ExitCode$ = getLastExitCode
; informations to exit codes see
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
if ($ExitCode$ = "0")
  comment "looks good: setup program gives exitcode zero"
  else
  comment "Setup program gives a exitcode unequal zero: "+$ExitCode$
  if ($ExitCode$ = "1605")
     comment "ERROR_UNKNOWN_PRODUCT   1605   This action is only valid for products that are currently installed."
     comment "Uninstall of a not installed product failed - no problem"
  else
     if ($ExitCode$ = "1641")
        comment "looks good: setup program gives exitcode 1641"
        comment "ERROR_SUCCESS_REBOOT_INITIATED   1641   The installer has initiated a restart. This message is indicative of a success."
     else
        if ($ExitCode$ = "3010")
           comment "looks good: setup program gives exitcode 3010"
           comment "ERROR_SUCCESS_REBOOT_REQUIRED   3010   A restart is required to complete the install. This message is indicative of a success."
        else
           logError "Fatal: Setup program gives an unknown exitcode unequal zero: "+$ExitCode$
           isFatalError
        endif
     endif
  endif
endif

uninstall.ins

; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib gmbh
; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/credits/
 
 
 
[Actions]
requiredWinstVersion >= "4.10.8.6"
 
DefVar $UninstallProgram32$
DefVar $MsiId64$
DefVar $UninstallProgram64$
DefVar $LogDir$
DefVar $ExitCode$
DefVar $ProductId$
DefVar $MozInstallDir$
DefVar $MozInstallDir64$
DefVar $LicenseRequired$
DefVar $LicensePool$
DefVar $INST_SystemType$
DefVar $INST_architecture$
DefVar $UninstallCommand$
 
Set $INST_SystemType$ = GetSystemType
set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
 
Set $LogDir$ = "%SystemDrive%\tmp"
; ----------------------------------------------------------------
; - Please edit the following values                             -
; ----------------------------------------------------------------
Set $ProductId$       = "firefox"
Set $MozInstallDir$    = "%ProgramFilesDir%\Mozilla Firefox"
Set $LicenseRequired$ = "false"
Set $LicensePool$     = "p_" + $ProductId$
; ----------------------------------------------------------------
 
 
comment "Show product picture"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".bmp" $ProductId$
 
Message "Uninstalling " + $ProductId$ + " ..."
 
if FileExists("%ScriptPath%\delsub.ins")
        comment "Start uninstall sub section"
        Sub "%ScriptPath%\delsub.ins"
endif
 
if $LicenseRequired$ = "true"
        comment "Licensing required, free license used"
        Sub_free_license
endif
 
[Sub_free_license]
comment "License management is enabled and will be used"
 
comment "Trying to free license used for the product"
DefVar $result$
Set $result$ = FreeLicense($LicensePool$)
; If there is an assignment of a license pool to the product, it is possible to use
; Set $result$ = FreeLicense("", $ProductId$)
;
; If there is an assignment of a license pool to a windows software id, it is possible to use
; DefVar $WindowsSoftwareId$
; $WindowsSoftwareId$ = "..."
; set $result$ = FreeLicense("", "", $WindowsSoftwareId$)

delsub.ins

;************************************************************
;
;delsub.ins
;
;************************************************************
 
; Message at install time:
Message "Deinstalling "+$ProductId$+" ..."
 
; kill a running firefox
killtask "firefox.exe"
 
; if firefox uninstall program exists then start it
 
if FileExists(""+$MozInstallDir$+"\uninstall\helper.exe")
    set $UninstallCommand$ = ""+$MozInstallDir$+"\uninstall\helper.exe"
    set $UninstallCommand$ = '"'+$UninstallCommand$+'" /S'
    WinBatch_start_FirefoxUninstall /WaitSeconds 20
    sub_check_exitcode
endif
 
; delete registry entry to the current installed version
Registry_delete_current_version
; delete files of current version
if not ($MozInstallDir$ = "")
        Files_copy_deinstall
endif
 
 
 
[WinBatch_start_FirefoxUninstall]
$UninstallCommand$
;%SCRIPTPATH%\sleep 5
 
[Files_copy_deinstall]
delete -sf "$MozInstallDir$\"
 
[Registry_delete_current_version]
OpenKey [HKEY_LOCAL_MACHINE\Software\Mozilla\Mozilla Firefox]
set "CurrentVersion" = ""
 
[sub_check_exitcode]
comment "test for installation success via exit code"
set $ExitCode$ = getLastExitCode
; informations to exit codes see
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
if ($ExitCode$ = "0")
        comment "looks good: setup program gives exitcode zero"
else
        comment "Setup program gives a exitcode unequal zero: "+$ExitCode$
        if ($ExitCode$ = "1605")
                comment "ERROR_UNKNOWN_PRODUCT  1605    This action is only valid for products that are currently installed."
                comment "Uninstall of a not installed product failed - no problem"
        else
                if ($ExitCode$ = "1641")
                        comment "looks good: setup program gives exitcode 1641"
                        comment "ERROR_SUCCESS_REBOOT_INITIATED 1641    The installer has initiated a restart. This message is indicative of a success."
                else
                        if ($ExitCode$ = "3010")
                                comment "looks good: setup program gives exitcode 3010"
                                comment "ERROR_SUCCESS_REBOOT_REQUIRED  3010    A restart is required to complete the install. This message is indicative of a success."
                        else
                                logError "Fatal: Setup program gives an unknown exitcode unequal zero: "+$ExitCode$
                                isFatalError
                        endif
                endif
        endif
endif