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
—
— 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.
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** - Profil des aktuellen Nutzers kopieren. (Win7: C:\Users\<name>\AppData\Roaming\Mozilla\Firefox\Profiles WinXP: C:\Dokumente und Einstellungen\<name>\Anwendungsdaten\Mozilla\Firefox\Profiles )
This is an extended Version which also installs a defined profile.
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'** - 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
[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
; 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 ; ;************************************************************ ; 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