======Gpg4win 2.2.1====== Tested with OPSI 4.0.4.0 \\ Winst 4.11.3.11 \\ Works fine with Win7 x86 and x64 \\ By //[[s.taube@schneiderprintmedien.de|Steve Taube]] 2014/09/01 12:00// You need the Installer for Gpg4win 2.2.1.\\ And You can download it here: http://www.heise.de/download/gpg4win-1119466.html \\ =====Steps====== -Download the Installer for Gpg4win 2.2.1 \\ and put it to the CLIENT_DATA-directory on your Workbench.\\ -Create a new file named gpg4win.ini and fill it up with the script provided down there\\ if you want to install Gpg4win with your own specials\\ and put this file in the CLIENT-DATA-Directory too. -Create new textfiles in the CLIENT_DATA-directory and fill them up with the scripts provided down there.\\ You might want to edit some lines in order to fit your needs.\\ -Ready the package and install it on your server. ===thats it=== ====setup.ins==== [Initial] SetLogLevel=9 ; 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 [Actions] requiredWinstVersion >= "4.10.8.6" DefVar $LogDir$ DefVar $ProductId$ DefVar $MinimumSpace$ DefVar $InstallDir32$ DefVar $InstallDir64$ DefVar $InstallDir32_Cmd$ DefVar $InstallDir64_Cmd$ DefVar $ExitCode$ DefVar $LicenseRequired$ DefVar $LicenseKey$ DefVar $LicensePool$ DefVar $INST_SystemType$ DefVar $INST_architecture$ DefVar $Version$ DefVar $Inst_Cmd$ DefVar $Inst_Prg32$ DefVar $Inst_Prg64$ DefVar $Uninst_Cmd$ DefVar $Uninst_Prg$ Set $INST_SystemType$ = GetSystemType set $INST_architecture$ = GetProductProperty("install_architecture","system specific") Set $LogDir$ = "%SystemDrive%\tmp" ; ---------------------------------------------------------------- ; - Please edit the following values - ; ---------------------------------------------------------------- ;$ProductId$ should be the name of the product in opsi ; therefore please: only lower letters, no umlauts, ; no white space use '-' as a seperator Set $ProductId$ = "Gpg4win" Set $Version$ = "2.2.1" Set $MinimumSpace$ = "50 MB" ; the path were we find the product after the installation Set $InstallDir32$ = "%ProgramFiles32Dir%\Gpg4win\" Set $InstallDir64$ = "%ProgramFiles64Dir%\Gpg4win\" Set $InstallDir32_Cmd$ = "/D=%ProgramFiles32Dir%\Gpg4win\" Set $InstallDir64_Cmd$ = "/D=%ProgramFiles64Dir%\Gpg4win\" Set $LicenseRequired$ = "false" Set $LicensePool$ = "p_" + $ProductId$ Set $Inst_Prg32$ = "gpg4win-2.2.1.exe" Set $Inst_Prg64$ = "gpg4win-2.2.1.exe" Set $Uninst_Prg$ = "gpg4win-uninstall.exe" Set $Inst_Cmd$ = '/S /C=%ScriptPath%\gpg4win.ini' Set $Uninst_Cmd$ = '/S' ; ---------------------------------------------------------------- comment "Show product picture" ShowBitmap "%ScriptPath%\" + $ProductId$ + ".jpg" $ProductId$ if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$)) LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$ isFatalError ; Stop process and set installation status to failed else if FileExists($InstallDir32$+$Uninst_Prg$) ; if FileExists("%ProgramFiles32Dir%\Gpg4win\gpg4win-uninstall.exe") comment "Start uninstall sub section" Sub "%ScriptPath%\delsub.ins" endif if FileExists($InstallDir64$+$Uninst_Prg$) ; if FileExists("%ProgramFiles64Dir%\Gpg4win\gpg4win-uninstall.exe") comment "Start uninstall sub section" Sub "%ScriptPath%\delsub.ins" endif if $LicenseRequired$ = "true" comment "Licensing required, reserve license and get license key" Sub_get_licensekey endif comment "Installiere "+$ProductID$+"..." if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") Message "Installiere " + $ProductId$+" (32 Bit)" comment "Start setup program" Winbatch_install_32 Sub_check_exitcode endif if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only")) Message "Installiere " + $ProductId$+" (64 Bit)" comment "Start setup program" Winbatch_install_64 Sub_check_exitcode endif endif [Winbatch_install_32] net stop dirmngr %ScriptPath%\$Inst_Prg32$ $Inst_Cmd$ $InstallDir32_Cmd$ [Winbatch_install_64] net stop dirmngr %ScriptPath%\$Inst_Prg64$ $Inst_Cmd$ $InstallDir64_Cmd$ [Sub_check_exitcode] comment "Test for installation success via exit code" set $ExitCode$ = getLastExitCode 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==== [Initial] LogLevel=9 ; 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 [Actions] requiredWinstVersion >= "4.10.8.6" DefVar $UninstallProgram32$ DefVar $LogDir$ DefVar $ExitCode$ DefVar $ProductId$ DefVar $InstallDir32$ DefVar $InstallDir64$ DefVar $LicenseRequired$ DefVar $LicensePool$ DefVar $INST_SystemType$ DefVar $INST_architecture$ DefVar $Uninst_Cmd$ DefVar $Uninst_Prg$ Set $INST_SystemType$ = GetSystemType set $INST_architecture$ = GetProductProperty("install_architecture","system specific") Set $LogDir$ = "%SystemDrive%\tmp" ; ---------------------------------------------------------------- ; - Please edit the following values - ; ---------------------------------------------------------------- Set $ProductId$ = "Gpg4win" Set $InstallDir32$ = "%ProgramFiles32Dir%\Gpg4win\" Set $InstallDir64$ = "%ProgramFiles64Dir%\Gpg4win\" Set $LicenseRequired$ = "false" Set $LicensePool$ = "p_" + $ProductId$ Set $Uninst_Prg$ = "gpg4win-uninstall.exe" Set $Uninst_Cmd$ = '/S' ; ---------------------------------------------------------------- comment "Show product picture" ShowBitmap "%ScriptPath%\" + $ProductId$ + ".jpg" $ProductId$ Message "Deinstalliere " + $ProductId$ + ". Bitte etwas Geduld..." comment "Start uninstall sub section" Sub "%ScriptPath%\delsub.ins" if $LicenseRequired$ = "true" comment "Licensing required, free license used" Sub_free_license endif ====delsub.ins==== if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") Message "Uninstalling " + $ProductId$ + " 32 Bit..." Winbatch_uninstall_32 comment "Removing "+$InstallDir32$ Files_uninstall_32 sub_check_exitcode endif if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only")) Message "Uninstalling " + $ProductId$ + " 64 Bit..." Winbatch_uninstall_64 comment "Removing "+$InstallDir64$ Files_uninstall_64 sub_check_exitcode endif [Winbatch_uninstall_32] "$InstallDir32$\$Uninst_Prg$" $Uninst_Cmd$ [Winbatch_uninstall_64] "$InstallDir64$\$Uninst_Prg$" $Uninst_Cmd$ [Files_uninstall_32] delete -sf "$InstallDir32$\" [Files_uninstall_64] delete -sf "$InstallDir64$\" [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 ====gpg4win.ini==== [gpg4win] ; Installationseinstellungen. Weg- oder leer lassen für ; Voreinstellung inst_gpgol = true inst_gpgex = true inst_kleopatra = false inst_gpa = true inst_claws_mail = false inst_compendium = false ; Die Stellen, an denen Verknüpfungen erzeugt werden sollen. inst_start_menu = true inst_desktop = true inst_quick_launch_bar = false ; Im Gegensatz zu den anderen Optionen überschreibt diese Option ; die Einstellung des Benutzers im Installationsassistenten. inst_start_menu_folder = Gpg4win ; Standard-Konfigurationsdateien. ;gpg.conf = D:\config\gpg-site.conf ;gpg-agent.conf = D:\config\gpg-agent-site.conf ;trustlist.txt = D:\config\trustlist-site.txt ;dirmngr.conf = D:\config\dirmngr-site.conf ;dirmngr_ldapserver.conf = D:\config\dirmngr_ldapserver-site.conf ;scdaemon.conf = D:\config\scdaemon-site.txt ;gpa.conf = D:\config\gpa-site.conf