This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    userspace:firefox [2011/10/27 07:30] Thomas_H  | 
                
                    userspace:firefox [2021/08/23 08:37] (current) | 
            ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Frei nach dieser Anleitung: http:// | + | ==== Mozilla Firefox ==== | 
| - | Sehr minimal aber erstmal ein Einstieg. Mehr findet Infos man unter: https://wiki.mozilla.org/Deployment:Deploying_Firefox | + | --- //[[thomas.heinrich@polizei.berlin.de|Thomas_H]] 2011/10/27 09:24// | 
| - | Install.ins | + | Tested with opsi 4.0.1\\ | 
| - | [Initial] | + | requiredWinstVersion >= 4.10.8.6\\ | 
| - | Message=installiere Firefox 7.0.1 DE | + | Download Setup-Files at http://www.mozilla.org// | 
| - |    | + | |
| - |    | + | |
| - | Winbatch_produkt_silent_install | + | |
| - | [Winbatch_produkt_silent_install] | + | |
| - | %SCRIPTPATH%\firefox-de-7.0.1.exe -ms | + | |
| - | + | Last Check\\ | |
| - | Uninstall.ins | + | [[thomas.heinrich@polizei.berlin.de|Thomas_H]]  | 
| - | [Initial] | + | |
| - | Message=deinstalliere Firefox | + | |
| - | StayOnTop=false | + | |
| - | [Aktionen] | + | |
| - |   ; We need to wait for " | + | |
| - |   Winbatch_produkt_silent_uninstall / | + | |
| - | [Winbatch_produkt_silent_uninstall] | + | |
| - |   " | + | |
| - | + | ||
| - | + | ||
| - | --- //[[hungerharke@gmx.de|Thomas_H]]  | + | |
| Hier kommt eine erweitere Version, welche auch ein zuvor eingerichtetes Profil berücksichtigt.  | Hier kommt eine erweitere Version, welche auch ein zuvor eingerichtetes Profil berücksichtigt.  | ||
| - Firefox installieren | - Firefox installieren | ||
| - |   - Add-ons herunterladen und installieren (empfohlen:  | + |   - Add-ons herunterladen und installieren (empfohlen:  | 
| - | - Firefox den Erfordernissen anpassen (zB. Proxy etc.) | + | - Firefox den Erfordernissen anpassen (zB. Proxy etc.)\\ | 
| - |   - Profil des aktuellen Nutzers kopieren. (Win7: C: | + | ** 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 " | ||
| + | eingeben und mit der Maus doppelt auf den Eintrag browser.newtab.url klicken und damit den Wert von | ||
| + |     about: | ||
| + |   - Profil des aktuellen Nutzers kopieren. (Win7/10: C: | ||
| This is an extended Version which also installs a defined profile. | This is an extended Version which also installs a defined profile. | ||
|   - Install Firefox  |   - Install Firefox  | ||
| - |   - download and install add-ons (recommended:  | + |   - download and install add-ons (recommended:  | 
| - | - set preferences for firefox (i.e. proxy etc.) | + | - set preferences for firefox (i.e. proxy etc.)\\ | 
| + | **Attention: | ||
| + |         off the overview which is shown when opening a new window or tab. Enter a ' | ||
| + |         and do a doubleclick on the entry browser.newtab.url, | ||
| - copy profile of actual user. | - copy profile of actual user. | ||
| tree: | tree: | ||
| - |   / | + | ├ delsub.ins | 
| - | insgesamt 13552 | + | ├ firefox.bmp | 
| - |    | + | ├ firefox-profile (THIS is the directory with the copied profile!) | 
| - | firefox.bmp | + | ├ Firefox  | 
| - | firefox-profile (THIS is the directory with the copied profile!) | + | ├ setup.ins | 
| - |   Firefox  | + | └ uninstall.ins | 
| - | setup.ins | + | |
| - | uninstall.ins | + | |
| - | setup.ins: | + | ==== setup.ins  | 
| - |    | + | <code winst> | 
| - | LogLevel=2 | + | |
| - | ; Log Errors in Logfile but don't abort: | + | [Initial] | 
| - | ExitOnError=false | + | LogLevel=2 | 
| - | ; Show syntax errors in the script: | + | ; Log Errors in Logfile but don't abort: | 
| - | ScriptErrorMessages=on | + | ExitOnError=false | 
| - | ; Dont trace step by step through the script: | + | ; Show syntax errors in the script: | 
| - | TraceMode=off | + | ScriptErrorMessages=on | 
| - | ; let started programs run in front of the winst window | + | ; Dont trace step by step through the script: | 
| - | StayOnTop=false | + | 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(" | ||
| + | Set $PRODUCTPATH$=" | ||
| + | Set $MozInstallDir$ = $PRODUCTPATH$ | ||
| + | set $InstallDir$=$PRODUCTPATH$ | ||
| + | set $NewExe$= $PRODUCTPATH$+" | ||
| + | set $ProductId$ = " | ||
| + | set $OS$ = GetNTVersion | ||
| + | set $FIREFOXVER$ = " | ||
| + | set $SilentSwitch$ = " | ||
| + | ; ---------------------------------------------------------------------- | ||
| + | ; Haben wir genug Speicherplatz? | ||
| + | if not(HasMinimumSpace (" | ||
| + |     | ||
| + |     | ||
| + |     | ||
| + | else | ||
| + |     | ||
| + |     | ||
| + |    if FileExists(" | ||
| + |         | ||
| + |        sub " | ||
| + |     | ||
| + |     | ||
| + |     | ||
| + |     | ||
| + |     | ||
| + |     | ||
| + |    if not (FileExists(" | ||
| + |         | ||
| + |     | ||
| + | |||
| + |     | ||
| + |     | ||
| + |     | ||
| + |     | ||
| + |     | ||
| + |     | ||
| + | |||
| + | if not(FileExists($NewExe$)) | ||
| + |         | ||
| + |         | ||
| + |     | ||
| + | |||
| + |     | ||
| + |     | ||
| + | endif | ||
|    |    | ||
| - | [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$ | ||
|    |    | ||
| - |    | + | [Files_copy_local] | 
| - |   ;  | + | copy -x " | 
| - | Set $TEMP$ = EnvVar("TEMP") | + | copy -s "%scriptpath%\firefox-profile\*"  | 
| - | Set $PRODUCTPATH$="%ProgramFilesDir%\Mozilla Firefox" | + | |
| - | Set $MozInstallDir$ = $PRODUCTPATH$ | + | [Files_del] | 
| - | set $InstallDir$=$PRODUCTPATH$ | + | delete -f " | 
| - |      | + | |
| - |     set $ProductId$  | + | [Winbatch_firefox] | 
| - |      | + | ; see http:// | 
| - |     set $FIREFOXVER$  | + | " | 
| - |      | + | |
| - | ; ---------------------------------------------------------------------- | + | [dosbatch_profiledir] | 
| - | + | @echo off | |
| - |   ; Haben wir genug Speicherplatz? | + | dir "%ProfileDir%"  | 
| - | + | ||
| - |   if not(HasMinimumSpace  | + | [DosInAnIcon_TryToReconnect] | 
| - |        | + | net use | 
| - |        | + | set TIMEOUT= | 
| - |        | + | :TRY | 
| + |     if exist "%SCRIPTPATH%\."  | ||
| + |      | ||
| + | set TIMEOUT=%TIMEOUT%1 | ||
| + |      | ||
| + | sleep 1 | ||
| + |      | ||
| + | goto TRY | ||
| + | :READY | ||
| + | |||
| + | [PatchTextFile_profile_proxy_file] | ||
| + | Set_Netscape_User_Pref  | ||
| + | Set_Netscape_User_Pref  | ||
| + | |||
| + | [sub_check_exitcode] | ||
| + | comment  | ||
| + | set $ExitCode$ = getLastExitCode | ||
| + | ; informations to exit codes see | ||
| + | ; http:// | ||
| + | ; http://msdn.microsoft.com/ | ||
| + | if ($ExitCode$ = "0") | ||
| + | comment "looks good: setup program gives exitcode zero" | ||
| else | else | ||
| - |        | + |    | 
| - |       ShowBitmap /3 " | + |    | 
| - | + |       | |
| - |       if FileExists(" | + |       | 
| - |           comment "start delsub.ins" | + | |
| - |           sub " | + | |
| - | endif | + | |
| - | + | ||
| - |       comment " | + | |
| - |       Message " | + | |
| - |       comment "kill a running firefox" | + | |
| - |       killtask " | + | |
| - | + | ||
| - |       comment "check for depotshare" | + | |
| - |       if not (FileExists(" | + | |
| - | DosInAnIcon_TryToReconnect | + | |
| - | endif | + | |
| - | + | ||
| - | comment "start setup program" | + | |
| - | Files_copy_local | + | |
| - | Winbatch_firefox | + | |
| - | sub_check_exitcode | + | |
| - | + | ||
| - |       comment " | + | |
| - |       killtask " | + | |
| - | + | ||
| - | if not(FileExists($NewExe$)) | + | |
| - |           logError "Fatal: After Installation  | + | |
| - | isFatalError | + | |
| - | endif | + | |
| - |    | + | |
| - |       | + | |
| - |       | + | |
| - | + | ||
| - | endif | + | |
| - | + | ||
| - | + | ||
| - | [Files_copy_local] | + | |
| - |   copy -x " | + | |
| - |   copy -s " | + | |
| - | + | ||
| - | [Files_del] | + | |
| - |   delete -f " | + | |
| - | + | ||
| - | [Winbatch_firefox] | + | |
| - |   ; see http:// | + | |
| - |   " | + | |
| - | + | ||
| - | [dosbatch_profiledir] | + | |
| - | @echo off | + | |
| - |   dir " | + | |
| - | + | ||
| - | [DosInAnIcon_TryToReconnect] | + | |
| - | net use | + | |
| - | set TIMEOUT= | + | |
| - | :TRY | + | |
| - |       if exist "%SCRIPTPATH%\."  | + | |
| - | %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 (" | + | |
| - |    | + | |
| - | + | ||
| - | [sub_check_exitcode] | + | |
| - |    | + | |
| - | set $ExitCode$ = getLastExitCode | + | |
| - | ; informations to exit codes see | + | |
| - |   ; http://msdn.microsoft.com/ | + | |
| - |   ; http:// | + | |
| - | if ($ExitCode$ = "0") | + | |
| - |       | + | |
| else | else | ||
| - |      comment "Setup program gives a exitcode unequal zero: " | + | if ($ExitCode$ = "1641") | 
| - | if ($ExitCode$ = "1605") | + | comment "looks good: setup program gives exitcode 1641" | 
| - |         comment "ERROR_UNKNOWN_PRODUCT  | + |         comment "ERROR_SUCCESS_REBOOT_INITIATED  | 
| - |         comment "Uninstall  | + | |
| else | else | ||
| - | if ($ExitCode$ = "1641") | + | if ($ExitCode$ = "3010") | 
| - |             | + |             | 
| - |             | + |             | 
| else | else | ||
| - |            if ($ExitCode$ = " | + |             | 
| - |               comment "looks good: setup program gives exitcode 3010" | + |             | 
| - |               comment " | + | |
| - |             | + | |
| - |                | + | |
| - | isFatalError | + | |
| - | endif | + | |
| endif | endif | ||
| endif | endif | ||
| endif | endif | ||
| + | endif | ||
| + | </ | ||
| - | uninstall.ins | + | ==== uninstall.ins  | 
| - |    | + | <code winst> | 
| - | ; This sourcecode is owned by uib gmbh | + | ; Copyright (c) uib gmbh (www.uib.de) | 
| - | ; and published under the Terms of the General Public License. | + | ; This sourcecode is owned by uib gmbh | 
| - |   ; credits: http:// | + | ; and published under the Terms of the General Public License. | 
| - | + | ; credits: http:// | |
| - | + | ||
| - | + | ||
| - | [Actions] | + | |
| - |   requiredWinstVersion >= " | + | [Actions] | 
| - | + | requiredWinstVersion >= " | |
| - | DefVar $UninstallProgram32$ | + | |
| - | DefVar $MsiId64$ | + | DefVar $UninstallProgram32$ | 
| - | DefVar $UninstallProgram64$ | + | DefVar $MsiId64$ | 
| - | DefVar $LogDir$ | + | DefVar $UninstallProgram64$ | 
| - | DefVar $ExitCode$ | + | DefVar $LogDir$ | 
| - | DefVar $ProductId$ | + | DefVar $ExitCode$ | 
| - | DefVar $MozInstallDir$ | + | DefVar $ProductId$ | 
| - | DefVar $MozInstallDir64$ | + | DefVar $MozInstallDir$ | 
| - | DefVar $LicenseRequired$ | + | DefVar $MozInstallDir64$ | 
| - | DefVar $LicensePool$ | + | DefVar $LicenseRequired$ | 
| - | DefVar $INST_SystemType$ | + | DefVar $LicensePool$ | 
| - | DefVar $INST_architecture$ | + | DefVar $INST_SystemType$ | 
| - | DefVar $UninstallCommand$ | + | DefVar $INST_architecture$ | 
| - | + | DefVar $UninstallCommand$ | |
| - | Set $INST_SystemType$ = GetSystemType | + | |
| - |   set $INST_architecture$ = GetProductProperty(" | + | |
| - | + | ||
| - | + | ||
| - |   Set $LogDir$ = " | + | |
| - | + | ||
| - | ; ---------------------------------------------------------------- | + | |
| - |   ; - Please edit the following values  | + | |
| - | ; ---------------------------------------------------------------- | + | |
| - |   Set $ProductId$  | + | |
| - |   Set $MozInstallDir$  | + | |
| - |   Set $LicenseRequired$ = " | + | |
| - |   Set $LicensePool$  | + | |
| - | ; ---------------------------------------------------------------- | + | |
| - | + | ||
| - | + | ||
| - |   comment "Show product picture" | + | |
| - |   ShowBitmap " | + | |
| - | + | ||
| - |   Message " | + | |
| - | + | ||
| - |   if FileExists(" | + | |
| - |           comment "Start uninstall sub section" | + | |
| - |           Sub " | + | |
| - | endif | + | |
| - | + | ||
| - |   if $LicenseRequired$ = " | + | |
| - |           comment " | + | |
| - | Sub_free_license | + | |
| - | endif | + | |
| - | + | ||
| - | [Sub_free_license] | + | |
| - |   comment " | + | |
| - | + | ||
| - |   comment " | + | |
| - | 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("", | + | |
| - | ; | + | |
| - | ; 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("", | + | |
| - | + | ||
| - | + | ||
| - | delsub.ins | + | |
| - |    | + | Set $INST_SystemType$ = GetSystemType | 
| - | ; | + | set $INST_architecture$ = GetProductProperty(" | 
| - |   ; | + | |
| - | ; | + | Set $LogDir$ = " | 
| - |   ; | + | ; ---------------------------------------------------------------- | 
| + | ; - Please edit the following values  | ||
| + | ; ---------------------------------------------------------------- | ||
| + | Set $ProductId$  | ||
| + | Set $MozInstallDir$  | ||
| + | Set $LicenseRequired$ = " | ||
| + | Set $LicensePool$  | ||
| + | ; ---------------------------------------------------------------- | ||
| + | |||
| + | |||
| + | comment "Show product picture" | ||
| + | ShowBitmap " | ||
| + | |||
| + | Message " | ||
| + | |||
| + | if FileExists(" | ||
| + |         comment "Start uninstall sub section" | ||
| + |         Sub " | ||
| + | endif | ||
| + | |||
| + | if $LicenseRequired$ = " | ||
| + |         comment " | ||
| + | Sub_free_license | ||
| + | endif | ||
| + | |||
| + | [Sub_free_license] | ||
| + | comment " | ||
| + | |||
| + | comment " | ||
| + | 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("", | ||
| + | ; | ||
| + | ; 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("", | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== delsub.ins ==== | ||
| + | |||
| + | <code winst> | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | ; | ||
| + | |||
| + | ; Message at install time: | ||
| + | Message " | ||
| + | |||
| + | ; kill a running firefox | ||
| + | killtask " | ||
| + | |||
| + | ; if firefox uninstall program exists then start it | ||
| + | |||
| + | if FileExists("" | ||
| + |     set $UninstallCommand$ = "" | ||
| + |     set $UninstallCommand$ = '"' | ||
| + |     WinBatch_start_FirefoxUninstall / | ||
| + | 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$ | ||
| + | ; | ||
| + | |||
| + | [Files_copy_deinstall] | ||
| + | delete -sf " | ||
|    |    | ||
| - | ; Message at install time: | + | [Registry_delete_current_version] | 
| - |   Message " | + | OpenKey [HKEY_LOCAL_MACHINE\Software\Mozilla\Mozilla Firefox] | 
| - | + | set " | |
| - | ; kill a running firefox | + | |
| - |   killtask " | + | |
| - | + | ||
| - | ; if firefox uninstall program exists then start it | + | |
| - | + | ||
| - |   if FileExists("" | + | |
| - |       set $UninstallCommand$ = "" | + | |
| - |       set $UninstallCommand$ = '"' | + | |
| - |       WinBatch_start_FirefoxUninstall / | + | |
| - | 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$ | + | |
| - |   ; | + | |
| - | + | ||
| - | [Files_copy_deinstall] | + | |
| - |   delete -sf " | + | |
| - | + | ||
| - |    | + | |
| - | OpenKey [HKEY_LOCAL_MACHINE\Software\Mozilla\Mozilla Firefox] | + | |
| - |   set " | + | |
| - | + | ||
| - | [sub_check_exitcode] | + | |
| - |   comment "test for installation success via exit code" | + | |
| - | set $ExitCode$ = getLastExitCode | + | |
| - | ; informations to exit codes see | + | |
| - |   ; http:// | + | |
| - |   ; http:// | + | |
| - |   if ($ExitCode$ = " | + | |
| - |           comment "looks good: setup program gives exitcode zero" | + | |
| - | else | + | |
| - |           comment "Setup program gives a exitcode unequal zero: " | + | |
| - |           if ($ExitCode$ = " | + | |
| - |                   comment " | + | |
| - |                   comment " | + | |
| - | else | + | |
| - |                   if ($ExitCode$ = " | + | |
| - |                           comment "looks good: setup program gives exitcode 1641" | + | |
| - |                           comment " | + | |
| - | else | + | |
| - |                           if ($ExitCode$ = " | + | |
| - |                                   comment "looks good: setup program gives exitcode 3010" | + | |
| - |                                   comment " | + | |
| - | else | + | |
| - |                                   logError " | + | |
| - | isFatalError | + | |
| - | endif | + | |
| - | endif | + | |
| - | endif | + | |
| - | endif | + | |
| + | [sub_check_exitcode] | ||
| + | comment "test for installation success via exit code" | ||
| + | set $ExitCode$ = getLastExitCode | ||
| + | ; informations to exit codes see | ||
| + | ; http:// | ||
| + | ; http:// | ||
| + | if ($ExitCode$ = " | ||
| + | comment "looks good: setup program gives exitcode zero" | ||
| + | else | ||
| + |         comment "Setup program gives a exitcode unequal zero: " | ||
| + |         if ($ExitCode$ = " | ||
| + |                 comment " | ||
| + |                 comment " | ||
| + | else | ||
| + |                 if ($ExitCode$ = " | ||
| + | comment "looks good: setup program gives exitcode 1641" | ||
| + |                         comment " | ||
| + | else | ||
| + |                         if ($ExitCode$ = " | ||
| + | comment "looks good: setup program gives exitcode 3010" | ||
| + |                                 comment " | ||
| + | else | ||
| + |                                 logError " | ||
| + | isFatalError | ||
| + | endif | ||
| + | endif | ||
| + | endif | ||
| + | endif | ||
| + | </ | ||