This is an old revision of the document!


Frei nach dieser Anleitung: http://wiki.welter-online.com/index.php/OPSI

Sehr minimal aber erstmal ein Einstieg. Mehr findet Infos man unter: https://wiki.mozilla.org/Deployment:Deploying_Firefox

Install.ins

[Initial]
Message=installiere Firefox 7.0.1 DE
StayOnTop=false
[Aktionen]
Winbatch_produkt_silent_install
[Winbatch_produkt_silent_install]
%SCRIPTPATH%\firefox-de-7.0.1.exe -ms

Uninstall.ins

[Initial]
Message=deinstalliere Firefox
StayOnTop=false
[Aktionen]
; We need to wait for "Au_.exe" to finish. Hopefully 5 minutes are enough
Winbatch_produkt_silent_uninstall /WaitForProcessEnding "Au_.exe" /TimeOutSeconds 300
[Winbatch_produkt_silent_uninstall]
"%ProgramFilesDir%\Mozilla Firefox\uninstall\Helper.exe" /S

Erweiterte Version des 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

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

  1. Firefox installieren
  2. Add-ons herunterladen und installieren (empfohlen: WOT, Adblock Plus, Ghostery)
  3. Firefox den Erfordernissen anpassen (zB. Proxy etc.)
  4. Profil des aktuellen Nutzers kopieren. (Win7: C:\Users\<name>\AppData\Local\Mozilla\Firefox\Profiles WinXP: )

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

  1. Install Firefox
  2. download and install add-ons (recommended: WOT, Adblock Plus, Ghostery)
  3. set preferences for firefox (i.e. proxy etc.)
  4. copy profile of actual user.

tree:

/opsi-installs/firefox/CLIENT_DATA # ls -l
insgesamt 13552
delsub.ins
firefox.bmp
firefox-profile (THIS is the directory with the copied profile!)
Firefox Setup 8.0.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 Setup 8.0.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$       = "firefox6"
Set $MozInstallDir$    = "%ProgramFilesDir%\Mozilla Firefox"
Set $LicenseRequired$ = "false"
Set $LicensePool$     = "p_" + $ProductId$
; ----------------------------------------------------------------
 
 
comment "Show product picture"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $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

QR Code
QR Code userspace:firefox (generated for current page)