commit 6f431c3ff91cab81ee5bb0be389c51a3f35ca865 Author: Dennis Trinks Date: Fri Dec 6 08:52:59 2013 +0100 init diff --git a/CLIENT_DATA/custom/22c5718.msi b/CLIENT_DATA/custom/22c5718.msi new file mode 100644 index 0000000..07c7c9e Binary files /dev/null and b/CLIENT_DATA/custom/22c5718.msi differ diff --git a/CLIENT_DATA/custom/22c5719.mst b/CLIENT_DATA/custom/22c5719.mst new file mode 100644 index 0000000..4827ab2 Binary files /dev/null and b/CLIENT_DATA/custom/22c5719.mst differ diff --git a/CLIENT_DATA/custom/22ef504.msi b/CLIENT_DATA/custom/22ef504.msi new file mode 100644 index 0000000..07c7c9e Binary files /dev/null and b/CLIENT_DATA/custom/22ef504.msi differ diff --git a/CLIENT_DATA/custom/22ef505.mst b/CLIENT_DATA/custom/22ef505.mst new file mode 100644 index 0000000..4827ab2 Binary files /dev/null and b/CLIENT_DATA/custom/22ef505.mst differ diff --git a/CLIENT_DATA/deljvm.ins b/CLIENT_DATA/deljvm.ins new file mode 100644 index 0000000..498c85b --- /dev/null +++ b/CLIENT_DATA/deljvm.ins @@ -0,0 +1,18 @@ +; Copyright (c) uib gmbh (www.uib.de) +; This sourcecode is owned by uib +; and published under the Terms of the General Public License. + +[Aktionen] +Message=deinstalling Java Virtual Machine Sun 1.6 ... +DefVar $UninstallCommand$ +DefVar $DisplayName$ +DefVar $ExitCode$ + +if FileExists("%ScriptPath%\subdeljava.ins") + comment "start uninstall" + sub "%ScriptPath%\subdeljava.ins" +endif + +[Winbatch_sun_uninstall] +$UninstallCommand$ + diff --git a/CLIENT_DATA/delsub32.ins b/CLIENT_DATA/delsub32.ins new file mode 100644 index 0000000..1fb4baa --- /dev/null +++ b/CLIENT_DATA/delsub32.ins @@ -0,0 +1,139 @@ +; 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/ + + +Set $MsiId32$ = '{E7C06D29-B16A-4D88-A917-55422FAB4E9D}' +Set $UninstallProgram32$ = $InstallDir32$ + "\uninstall.exe" + +Set $MsiId64$ = '{8D7DDFA2-3A50-49A4-99C5-6D8BE66FE0B9}' +Set $UninstallProgram64$ = $InstallDir64$ + "\uninstall.exe" + +if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") + Message "Uninstalling " + $ProductId$ + " 32 Bit..." + + if FileExists($UninstallProgram32$) + comment "Uninstall program found, starting uninstall" + Winbatch_uninstall_32 + sub_check_exitcode + endif + + if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId32$ + "] DisplayName") = "") + comment "MSI id " + $MsiId32$ + " found in registry, starting msiexec to uninstall" + Winbatch_uninstall_msi_32 + sub_check_exitcode + endif + + comment "Delete files" + Files_uninstall_32 /32Bit + comment "Cleanup registry" + Registry_uninstall /32Bit +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..." + + if FileExists($UninstallProgram64$) + comment "Uninstall program found, starting uninstall" + Winbatch_uninstall_64 + sub_check_exitcode + endif + + if not (GetRegistryStringValue64("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId64$ + "] DisplayName") = "") + comment "MSI id " + $MsiId64$ + " found in registry, starting msiexec to uninstall" + Winbatch_uninstall_msi_64 + sub_check_exitcode + endif + + comment "Delete files" + Files_uninstall_64 /64Bit + comment "Cleanup registry" + Registry_uninstall /64Bit +endif + +comment "Delete program shortcuts" +LinkFolder_uninstall + +[Winbatch_uninstall_32] +; Choose one of the following examples as basis for program uninstall +; +; === Nullsoft Scriptable Install System ================================================================ +; "$UninstallProgram32$" /S +; +; === Inno Setup ======================================================================================== +; "$UninstallProgram32$" /silent /norestart /SUPPRESSMSGBOXES + + +[Winbatch_uninstall_msi_32] +msiexec /x $MsiId32$ /qb! REBOOT=ReallySuppress + +[Files_uninstall_32] +; Example for recursively deleting the installation directory (don't forget the trailing backslash): +; +; delete -sf "$InstallDir32$\" + +[Winbatch_uninstall_64] +; Choose one of the following examples as basis for program uninstall +; +; === Nullsoft Scriptable Install System ================================================================ +; "$UninstallProgram64$" /S +; +; === Inno Setup ======================================================================================== +; "$UninstallProgram64$" /silent /norestart /SUPPRESSMSGBOXES + + +[Winbatch_uninstall_msi_64] +msiexec /x $MsiId64$ /qb! REBOOT=ReallySuppress + +[Files_uninstall_64] +; Example for recursively deleting the installation directory (don't forget the trailing backslash): +; +; delete -sf "$InstallDir64$\" + +[Registry_uninstall] +; Example of deleting a registry key: +; +; deletekey [HKEY_LOCAL_MACHINE\Software\$ProductId$] + +[LinkFolder_uninstall] +; Example of deleting a folder from AllUsers startmenu: +; +; set_basefolder common_programs +; delete_subfolder $ProductId$ +; +; Example of deleting a shortcut from AllUsers desktop: +; +; set_basefolder common_desktopdirectory +; set_subfolder "" +; delete_element $ProductId$ + +[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 + diff --git a/CLIENT_DATA/javavm.files b/CLIENT_DATA/javavm.files new file mode 100755 index 0000000..956a20b --- /dev/null +++ b/CLIENT_DATA/javavm.files @@ -0,0 +1,10 @@ +f '22c5718.msi' 581120 a6f03883935f1ccfcd7cd810d69f9847 +f '22c5719.mst' 5097472 31066708314d63f67f4675407a474880 +f '22ef504.msi' 581120 a6f03883935f1ccfcd7cd810d69f9847 +f '22ef505.mst' 5097472 31066708314d63f67f4675407a474880 +f 'deljvm.ins' 426 5976316a538ae83004149d6b1accea50 +f 'java.png' 11051 486c15bed74d4f163a02c9ff7e21de9a +f 'javavm.ins' 5740 95c26511f036836bd6ad173e5ab3e1eb +f 'jre-6u20-windows-i586-s.exe' 16529184 71fdde020a4920f55c96e1121a1dbd4a +f 'jre-6u20-windows-x64.exe' 16420640 343eead5222da8f5bffb298fb2683330 +f 'subdeljava.ins' 10576 603ef618ccbd924a3ce46db527b6a78c diff --git a/CLIENT_DATA/javavm.ins b/CLIENT_DATA/javavm.ins new file mode 100644 index 0000000..359635a --- /dev/null +++ b/CLIENT_DATA/javavm.ins @@ -0,0 +1,150 @@ +; Copyright (c) uib gmbh (www.uib.de) +; This sourcecode is owned by uib +; and published under the Terms of the General Public License. + +[Aktionen] +requiredWinstVersion >= "4.10.3" +Message "installing Java Virtual Machine Sun 1.6 ..." +DefVar $ExitCode$ +DefVar $INST_MsVersion$ +DefVar $INST_SystemType$ +DefVar $INST_architecture$ +DefVar $JAVA32_16EXE$ +DefVar $JAVA32_16VER$ +DefVar $JAVA64_16EXE$ +DefVar $JAVA64_16VER$ +DefVar $UninstallCommand$ +DefVar $DisplayName$ +DefVar $InstallPlugins$ +DefVar $MySystemRoot$ + +DefStringlist $INST_MsVersionMap$ + +Set $INST_SystemType$ = GetSystemType +set $INST_MsVersion$ = GetMsVersionInfo +set $INST_MsVersionMap$ = GetMSVersionMap +set $INST_architecture$ = GetProductProperty("install_architecture","system specific") +set $MySystemRoot$ = "%"+"systemroot"+"%" + +set $JAVA32_16EXE$="jre-6u20-windows-i586-s.exe" +set $JAVA32_16VER$="jre1.6.0_20" +set $JAVA64_16EXE$="jre-6u20-windows-x64.exe" +set $JAVA64_16VER$="jre1.6.0_20" +set $InstallPlugins$ = "IEXPLORER=1 MOZILLA=1" + +if not(HasMinimumSpace ("%SYSTEMDRIVE%", "200 MB")) + LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for Java 1.6" + isFatalError + ; Stop process and set installation status to failed +endif + +if $INST_MsVersion$ < "5.0" + LogError "Minimum Windows 2000 is required for Java 1.6" + isFatalError +endif + +ShowBitmap "%scriptpath%\java.png" "SUN Java VM" + +if FileExists("%ScriptPath%\subdeljava.ins") + comment "start uninstall" + sub "%ScriptPath%\subdeljava.ins" +endif + +comment "installing" + +if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") + if ($INST_MsVersion$ = "6.0") and ("1" < getValue("product_type_nr",$INST_MsVersionMap$)) and ($INST_SystemType$ = "64 Bit System") + LogWarning "silent installation on 2008x64 doesn't works at the moment" + else + Message "Installing Sun "+$JAVA32_16VER$+ " 32 Bit..." + if $INST_SystemType$ = "64 Bit System" + comment "registry hack for silent install 32 bit on 64 Bit Systems" + ; see http://www.myitforum.com/forums/tm.aspx?high=&m=215451&mpage=1#215451 + Registry_redirect_64_profile_image_to_32 /64bit + endif + Winbatch_sun_1_6_silent_install_32 + if $INST_SystemType$ = "64 Bit System" + comment "registry hack for silent install 32 bit on 64 Bit Systems" + Registry_redirect_64_profile_image_to_64 /64bit + endif + Sub_check_exitcode + comment "disable auto updater" + ; see http://wpkg.org/Java + Winbatch_sun_1_6_silent_disable_update + ;Sub_check_exitcode + Registry_disable_update + endif +endif ; 32 Bit + +if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only")) + Message "Installing Sun "+$JAVA64_16VER$+ " 64 Bit..." + Winbatch_sun_1_6_silent_install_64 + Sub_check_exitcode + comment "disable auto updater" + ; see http://wpkg.org/Java + Registry_disable_update /64Bit +endif ; 64 Bit + + +; custom specific stuff +if FileExists("%ScriptPath%\custom_ins_dir\custom.ins") + sub "%ScriptPath%\custom_ins_dir\custom.ins" +endif + + +[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 + +[winbatch_start_taskmgr] +taskmgr.exe + +[Winbatch_sun_1_6_silent_disable_update] +msiexec /x {4A03706F-666A-4037-7777-5F2748764D10} /qb-! + +[Registry_redirect_64_profile_image_to_32] +openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18] +set "ProfileImagePath"=REG_EXPAND_SZ:"$MySystemRoot$\syswow64\config\systemprofile" + +[Registry_redirect_64_profile_image_to_64] +openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18] +set "ProfileImagePath"=REG_EXPAND_SZ:"$MySystemRoot$\config\systemprofile" + +[Registry_disable_update] +openkey [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy] +set "EnableJavaUpdate"=REG_DWORD:0 + +[Winbatch_sun_1_6_silent_install_32] +%SCRIPTPATH%\$JAVA32_16EXE$ /s /v"/qb-! /lie c:\tmp\$JAVA32_16VER$.log ADDLOCAL=ALL $InstallPlugins$ REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org'" + +[Winbatch_sun_1_6_silent_install_64] +%SCRIPTPATH%\$JAVA64_16EXE$ /s /v"/qb-! /lie c:\tmp\$JAVA32_16VER$.log ADDLOCAL=ALL $InstallPlugins$ REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org'" + +[Winbatch_sun_uninstall] +$UninstallCommand$ + diff --git a/CLIENT_DATA/setup32.ins b/CLIENT_DATA/setup32.ins new file mode 100644 index 0000000..8d4541c --- /dev/null +++ b/CLIENT_DATA/setup32.ins @@ -0,0 +1,132 @@ +; Copyright (c) uib gmbh (www.uib.de) +; This sourcecode is owned by uib +; and published under the Terms of the General Public License. +; credits: http://www.opsi.org/credits/ + +[Actions] +requiredWinstVersion >= "4.10.8.6" + +DefVar $MsiId32$ +DefVar $UninstallProgram32$ +DefVar $MsiId64$ +DefVar $UninstallProgram64$ +DefVar $LogDir$ +DefVar $ProductId$ +DefVar $MinimumSpace$ +DefVar $InstallDir32$ +DefVar $InstallDir64$ +DefVar $ExitCode$ +DefVar $LicenseRequired$ +DefVar $LicenseKey$ +DefVar $LicensePool$ +DefVar $INST_SystemType$ +DefVar $INST_architecture$ +DefVar $JAVA32_17EXE$ +DefVar $JAVA32_17VER$ +DefVar $InstallPlugins$ + + +Set $INST_SystemType$ = GetSystemType +set $INST_architecture$ = GetProductProperty("install_architecture","system specific") + +set $JAVA32_17EXE$="jre-7u45-windows-i586.exe" +set $JAVA32_17VER$="jre1.7.0_45" +set $InstallPlugins$ = "IEXPLORER=1 MOZILLA=1" + +Set $LogDir$ = "%SystemDrive%\tmp" + +; The token BUILDER_VARIABLES will be replaced by opsi-builder.sh +; and adds the following variables: +; from builder-product.cfg : all variables definded by attribute WINST[index] +; from builder-product.cfg : VENDOR PN VERSION RELEASE PRIORITY ADVICE TYPE +; from opsi-builder.cfg : CREATOR_TAG CREATOR_NAME CREATOR_EMAIL +; auto generated winst-variables +; $IconFile$: path to product picture +; +@@BUILDER_VARIABLES@@ + +; ---------------------------------------------------------------- +; - 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$ = "Java7u45" +Set $MinimumSpace$ = "1 MB" +; the path were we find the product after the installation +Set $InstallDir32$ = "%ProgramFiles32Dir%\" +Set $InstallDir64$ = "%ProgramFiles64Dir%\" +Set $LicenseRequired$ = "false" +Set $LicensePool$ = "p_" + $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 + comment "Show product picture" + ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ + + if FileExists("%ScriptPath%\delsub32.ins") + comment "Start uninstall sub section" + Sub "%ScriptPath%\delsub32.ins" + endif + + if $LicenseRequired$ = "true" + comment "Licensing required, reserve license and get license key" + Sub_get_licensekey + endif + + comment "installing" + + Message "Installing " + $ProductId$ + " 32 Bit..." + comment "Start setup program" + Winbatch_java_1_7_silent_install_32 + Sub_check_exitcode + comment "Copy files" + Files_install_32 /32Bit + comment "Patch Registry" + Registry_install /32Bit + comment "Create shortcuts" + LinkFolder_install + +endif + +[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 + +[Winbatch_java_1_7_silent_install_32] +%SCRIPTPATH%\custom\$JAVA32_17EXE$ /s /v"/qb-! /lie c:\tmp\$JAVA32_17VER$.log ADDLOCAL=ALL $InstallPlugins$ REBOOT=ReallySuppess SYSTRAY=0 JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0 ARPURLUPDATEINFO='http://www.opsi.org'" + + +[Winbatch_install] +; === MSI package ======================================================================================= +;msiexec /i "%ScriptPath%\custom\capicom_dc_sdk.msi" /qb-! + +[dosinanicon_install] +;regsvr32 /s "C:\Programme\Microsoft CAPICOM 2.1.0.2 SDK\Lib\X86\capicom.dll" +;cscript "C:\Programme\Microsoft CAPICOM 2.1.0.2 SDK\Samples\vbs\CStore.vbs" import c:\Sky\PZ-7462673.pfx t1akXk9Zpi diff --git a/CLIENT_DATA/subdeljava.ins b/CLIENT_DATA/subdeljava.ins new file mode 100644 index 0000000..a9817e9 --- /dev/null +++ b/CLIENT_DATA/subdeljava.ins @@ -0,0 +1,250 @@ +; custom specific stuff +if FileExists("%ScriptPath%\custom_ins_dir\prevent_uninstall.ins") + sub "%ScriptPath%\custom_ins_dir\prevent_uninstall.ins" +endif + +LinkFolder_Webstart_delete + + +;JavaVM 1.6.0 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160000}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160000} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_1 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160010}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160010} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_2 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160020}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160020} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_3 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160030}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160030} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_4 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160040}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160040} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_5 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160050}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160050} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_6 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160060}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160060} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_7 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3248F0A8-6813-11D6-A77B-00B0D0160070}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160070} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_11 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216011FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216011FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_12 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216012FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216012FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_13 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216013FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216013FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_14 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216014FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216014FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_15 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216015FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216015FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_16 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216016FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216016FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_17 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216017FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216017FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_18 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216018FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216018FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_19 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216019FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216019FF} /qb-! REBOOT=ReallySuppress" + Winbatch_sun_uninstall + Sub_check_exitcode +endif + +;JavaVM 1.6.0_20 +set $DisplayName$ = GetRegistryStringValue ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83216020FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216020FF} /qb-! REBOOT=ReallySuppress" + ;Winbatch_sun_uninstall /WaitForProcessEnding "msiexec.exe" /TimeOutSeconds 300 + sub_deinstall_with_retry + Sub_check_exitcode +endif + +set $DisplayName$ = GetRegistryStringValue64 ("[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F86416020FF}] DisplayName") +if not ($DisplayName$ = "") + Message "Found "+$DisplayName$+" => uninstalling first" + set $UninstallCommand$ = "MsiExec.exe /x {26A24AE4-039D-4CA4-87B4-2F86416020FF} /qb-! REBOOT=ReallySuppress" + sub_deinstall_with_retry + Sub_check_exitcode + ;sleepSeconds 30 +endif + +[sub_deinstall_with_retry] +Winbatch_sun_uninstall +set $ExitCode$ = getLastExitCode +if $ExitCode$ = "1618" + sleepSeconds 10 + Winbatch_sun_uninstall + set $ExitCode$ = getLastExitCode + if $ExitCode$ = "1618" + sleepSeconds 10 + Winbatch_sun_uninstall + set $ExitCode$ = getLastExitCode + if $ExitCode$ = "1618" + sleepSeconds 10 + Winbatch_sun_uninstall + set $ExitCode$ = getLastExitCode + if $ExitCode$ = "1618" + sleepSeconds 10 + Winbatch_sun_uninstall + set $ExitCode$ = getLastExitCode + if $ExitCode$ = "1618" + sleepSeconds 10 + Winbatch_sun_uninstall + endif + endif + endif + endif +endif + + +[Winbatch_sun_uninstall] +$UninstallCommand$ + +[LinkFolder_Webstart_delete] +set_basefolder common_programs +delete_subfolder "Java" +delete_subfolder "Java Web Start" + +[DosInAnIcon_test_16_installation] +@echo off +"java.exe" -version + +[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 + diff --git a/CLIENT_DATA/uninstall32.ins b/CLIENT_DATA/uninstall32.ins new file mode 100644 index 0000000..120b1e7 --- /dev/null +++ b/CLIENT_DATA/uninstall32.ins @@ -0,0 +1,79 @@ +; 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 $MsiId32$ +DefVar $UninstallProgram32$ +DefVar $MsiId64$ +DefVar $UninstallProgram64$ +DefVar $LogDir$ +DefVar $ExitCode$ +DefVar $ProductId$ +DefVar $InstallDir32$ +DefVar $InstallDir64$ +DefVar $LicenseRequired$ +DefVar $LicensePool$ +DefVar $INST_SystemType$ +DefVar $INST_architecture$ + +Set $INST_SystemType$ = GetSystemType +set $INST_architecture$ = GetProductProperty("install_architecture","system specific") + + +Set $LogDir$ = "%SystemDrive%\tmp" + +; The token BUILDER_VARIABLES will be replaced by opsi-builder.sh +; and adds the following variables: +; from builder-product.cfg : all variables definded by attribute WINST[index] +; from builder-product.cfg : VENDOR PN VERSION RELEASE PRIORITY ADVICE TYPE +; from opsi-builder.cfg : CREATOR_TAG CREATOR_NAME CREATOR_EMAIL +; auto generated winst-variables +; $IconFile$: path to product picture +; +@@BUILDER_VARIABLES@@ + +; ---------------------------------------------------------------- +; - Please edit the following values - +; ---------------------------------------------------------------- +Set $ProductId$ = "adobeflash" +Set $InstallDir32$ = "%ProgramFiles32Dir%\" +Set $InstallDir64$ = "%ProgramFiles64Dir%\" +Set $LicenseRequired$ = "false" +Set $LicensePool$ = "p_" + $ProductId$ +; ---------------------------------------------------------------- + + +comment "Show product picture" +ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ + +Message "Uninstalling " + $ProductId$ + " ..." + +if FileExists("%ScriptPath%\delsub3264.ins") + comment "Start uninstall sub section" + Sub "%ScriptPath%\delsub3264.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$) + + diff --git a/OPSI/changelog.txt b/OPSI/changelog.txt new file mode 100644 index 0000000..bc69317 --- /dev/null +++ b/OPSI/changelog.txt @@ -0,0 +1,2 @@ +Don't add cahngelog entries here! +It get autogenerated by the opsi-builder.sh \ No newline at end of file diff --git a/OPSI/control b/OPSI/control new file mode 100644 index 0000000..38a58ff --- /dev/null +++ b/OPSI/control @@ -0,0 +1,31 @@ +[Package] +version: RELEASE +depends: +incremental: False + +[Product] +type: localboot +id: oracle.java7u45 +name: java7u45 +description: Java Pakage +advice: ADVICE +version: VERSION +priority: PRIORITY +licenseRequired: False +productClasses: +setupScript: setup32.ins +uninstallScript: uninstall32.ins +updateScript: +alwaysScript: +onceScript: +customScript: +userLoginScript: + +[ProductProperty] +type: unicode +name: install_architecture +multivalue: False +editable: False +description: which architecture (32/64 bit) has to be installed +values: ["32 only", "64 only", "both", "system specific"] +default: ["system specific"] diff --git a/OPSI/postinst b/OPSI/postinst new file mode 100644 index 0000000..a8e33fc --- /dev/null +++ b/OPSI/postinst @@ -0,0 +1,9 @@ +#! /bin/sh +# +# postinst script for softprod +# This script executes after unpacking files from that archive and registering the product at the server. +# +# The following environment variables can be used to obtain information about the current installation: +# PRODUCT_ID: id of the current product +# CLIENT_DATA_DIR: directory which contains the installed client data +# diff --git a/OPSI/preinst b/OPSI/preinst new file mode 100644 index 0000000..15a5320 --- /dev/null +++ b/OPSI/preinst @@ -0,0 +1,9 @@ +#! /bin/sh +# +# preinst script for softprod +# This script executes before that package will be unpacked from its archive file. +# +# The following environment variables can be used to obtain information about the current installation: +# PRODUCT_ID: id of the current product +# CLIENT_DATA_DIR: directory where client data will be installed +# diff --git a/Testing.txt b/Testing.txt new file mode 100644 index 0000000..d6b5e6c --- /dev/null +++ b/Testing.txt @@ -0,0 +1,28 @@ +*** Qualitiymanagement/Testing procedure + +- Product: + - Name: productname + - Version: xxx + - Release: yyyy + +- Environment + - OS: Native windows XP-32Bit installation + - Preinstalled packages: None (also no aio) + - Files used while testing: + File1: http://domain.de/file.ext + +- Testing process: + OPSI-action: + - Installation (without dependencies like AIO/Firefox): ?? + Result: + - File extensions related to program: ?? + - Start menu entry: ?? + - Starting/using program: viewer works, File1 is shown correctly: ?? + + OPSI-action: + - Uninstall + Result: + - File extensions related to program: unrelated: ?? + - Start menu entry: none: ?? + + diff --git a/adobeflash.msi.sha1sum b/adobeflash.msi.sha1sum new file mode 100644 index 0000000..3dfef2c --- /dev/null +++ b/adobeflash.msi.sha1sum @@ -0,0 +1 @@ +67995c443036cdbc16ae696f8bbe94b5eaca9812 /home/dtrinks/.opsi-dist-cache/adobe.com/adobeflash/11.1.102.63/X86/adobeflash.msi diff --git a/adobeflash.png.sha1sum b/adobeflash.png.sha1sum new file mode 100644 index 0000000..9ec567a --- /dev/null +++ b/adobeflash.png.sha1sum @@ -0,0 +1 @@ +de6c31550b67fe6fad20f2bcf02a72c4869f797f /home/dtrinks/.opsi-dist-cache/adobe.com/adobeflash/11.1.102.63//adobeflash.png diff --git a/adobeflash64.msi.sha1sum b/adobeflash64.msi.sha1sum new file mode 100644 index 0000000..d16d607 --- /dev/null +++ b/adobeflash64.msi.sha1sum @@ -0,0 +1 @@ +45f6a18384d7074436b661c0e907bcbe324b312e /home/dtrinks/.opsi-dist-cache/adobe.com/adobeflash/11.1.102.63/X86_64/adobeflash64.msi diff --git a/builder-product.cfg b/builder-product.cfg new file mode 100644 index 0000000..742d00f --- /dev/null +++ b/builder-product.cfg @@ -0,0 +1,19 @@ +############################ +# Setup product information +############################ +VENDOR="oracle.com" +PN="oracle.java7u45" +VERSION="1" +RELEASE="1" +PRIORITY="0" +ADVICE="" + +# TYPE - defines, if the install files are public or restricted. +# Valid value: restricted | public +TYPE="public" + +DL_FILE[0]="adobeflash.png" +DL_SOURCE[0]="http://www.veryicon.com/icon/png/Application/Adobe%20Symbolism%20CS3/Flash%20Player.png" + +# File array index for the image showing while installing the program +ICON_DL_INDEX=0 \ No newline at end of file diff --git a/builder-targets-cb.sh b/builder-targets-cb.sh new file mode 100644 index 0000000..9a3d4a8 --- /dev/null +++ b/builder-targets-cb.sh @@ -0,0 +1,25 @@ +############################################################################## +# This optional file "builder-targets-cb.sh" will be called by builder.sh +# +# The targets will be called from thde opsi-builder using the following +# order: config, prepare, retrieve, create, package, publish, commit, cleanup +# You can overwrite the target functions in builder-targets-cb.sh +# +# You can define callback functions. The functions are called from +# opsi-builder within processing a target +# cb_package_makeproductfile +# +# You can use every variable defined in any configuration file or by +# the defined builder script itself. Also, calling the predefined +# targets builder_ is possible. +# +# Abstract: +# target order: config, prepare, retrieve, create, package, publish, commit, cleanup +# callbacks: +# +############################################################################## + +function cleanup() { + echo "Cleanup" + builder_cleanup +} diff --git a/java.png b/java.png new file mode 100755 index 0000000..4a0119a Binary files /dev/null and b/java.png differ