— 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.
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”
This is an extended Version which also installs a defined profile.
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'
tree: ├ delsub.ins ├ firefox.bmp ├ firefox-profile (THIS is the directory with the copied profile!) ├ Firefox Installer.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 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
; 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