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.
This is an extended Version which also installs a defined profile.
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