From 8bd69fd16d8e31a8adcc7e6869de3979df6a82e3 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Fri, 15 Mar 2013 21:47:00 +0100 Subject: [PATCH] redesign sereby package with uninstall --- .../{X86/java => }/JavaUninstallScript.vbs | 0 CLIENT_DATA/X86/winpkg/WinPKG.xml | 18 -- CLIENT_DATA/control3264.ins | 265 ++++++++++++++++++ CLIENT_DATA/delsub3264.ins | 140 +++++++++ CLIENT_DATA/login.ins | 24 ++ CLIENT_DATA/opsi-sereby.aio.ini | 7 + CLIENT_DATA/setup3264.ins | 201 +++++++++++++ CLIENT_DATA/uninstall3264.ins | 67 +++++ JavaRa-2.1.zip.sha1sum | 1 + OPSI/control | 146 ++++------ aio-runtimes_v2.0.3.1.7z.sha1sum | 2 +- builder-product.cfg | 51 ++-- builder-targets-cb.sh | 28 ++ dimpel-aio-runtimes_v2.0.3.1.7z.sha1sum | 1 + dotNetFx3.5_8.7z.sha1sum | 1 - dotnetfx_5F00_cleanup_5F00_tool.zip.sha1sum | 1 + uninstall_flash_player.exe.sha1sum | 1 + uninstall_shock_player.exe.sha1sum | 1 + 18 files changed, 826 insertions(+), 129 deletions(-) rename CLIENT_DATA/{X86/java => }/JavaUninstallScript.vbs (100%) delete mode 100644 CLIENT_DATA/X86/winpkg/WinPKG.xml create mode 100644 CLIENT_DATA/control3264.ins create mode 100644 CLIENT_DATA/delsub3264.ins create mode 100644 CLIENT_DATA/login.ins create mode 100644 CLIENT_DATA/opsi-sereby.aio.ini create mode 100644 CLIENT_DATA/setup3264.ins create mode 100644 CLIENT_DATA/uninstall3264.ins create mode 100644 JavaRa-2.1.zip.sha1sum create mode 100644 dimpel-aio-runtimes_v2.0.3.1.7z.sha1sum delete mode 100644 dotNetFx3.5_8.7z.sha1sum create mode 100644 dotnetfx_5F00_cleanup_5F00_tool.zip.sha1sum create mode 100644 uninstall_flash_player.exe.sha1sum create mode 100644 uninstall_shock_player.exe.sha1sum diff --git a/CLIENT_DATA/X86/java/JavaUninstallScript.vbs b/CLIENT_DATA/JavaUninstallScript.vbs similarity index 100% rename from CLIENT_DATA/X86/java/JavaUninstallScript.vbs rename to CLIENT_DATA/JavaUninstallScript.vbs diff --git a/CLIENT_DATA/X86/winpkg/WinPKG.xml b/CLIENT_DATA/X86/winpkg/WinPKG.xml deleted file mode 100644 index 4c5a6af..0000000 --- a/CLIENT_DATA/X86/winpkg/WinPKG.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/CLIENT_DATA/control3264.ins b/CLIENT_DATA/control3264.ins new file mode 100644 index 0000000..53b0ebc --- /dev/null +++ b/CLIENT_DATA/control3264.ins @@ -0,0 +1,265 @@ +DefVar $MSVersion$ +Set $MSVersion$ = GetMsVersionInfo + + +DefVar$timer_value$ +Set $timer_value$ = GetProductProperty("timer_value", "40") +DefVar$timer_enabled$ +Set$timer_enabled$ = GetProductProperty("timer_enabled", "1") +DefVar $dotnet1.1$ +Set $dotnet1.1$ = GetProductProperty("dotnet1.1", "install") +DefVar $dotnet2.0$ +Set $dotnet2.0$ = GetProductProperty("dotnet2.0", "install") +DefVar $dotnet3.0$ +Set $dotnet3.0$ = GetProductProperty("dotnet3.0", "install") +DefVar $dotnet3.5$ +Set $dotnet3.5$ = GetProductProperty("dotnet3.5", "install") +DefVar $dotnet4.0$ +Set $dotnet4.0$ = GetProductProperty("dotnet4.0", "install") +DefVar $dotnet4.5$ +Set $dotnet4.5$ = GetProductProperty("dotnet4.5", "install") +DefVar $msjsharp$ +Set $msjsharp$ = GetProductProperty("msjsharp", "install") +DefVar $silver$ +Set $silver$ = GetProductProperty("silver", "install") +DefVar $jre7$ +Set $jre7$ = GetProductProperty("jre7", "install") +DefVar $AdobeShock$ +Set $AdobeShock$ = GetProductProperty("AdobeShock", "install") +DefVar $basicruntimes$ +Set $basicruntimes$ = GetProductProperty("basicruntimes", "install") +DefVar $msdx9$ +Set $msdx9$ = GetProductProperty("msdx9", "install") +DefVar $msdxm$ +Set $msdxm$ = GetProductProperty("msdxm", "install") +DefVar $msvc$ +Set $msvc$ = GetProductProperty("msvc", "install") +DefVar $AdobeFlash$ +Set $AdobeFlash$ = GetProductProperty("AdobeFlash", "install") + + + + + +Winpatch_init_config + +if ($dotnet1.1$ = "install") + Winpatch_dotnet1.1_config +endif +if ($dotnet1.1$ = "uninstall") + Winbatch_dotnet1.1_uninstall +endif + +if ($dotnet2.0$ = "install") + Winpatch_dotnet2.0_config +endif +if ($dotnet2.0$ = "uninstall") + Winbatch_dotnet2.0_uninstall +endif + +if ($dotnet3.0$ = "install") + Winpatch_dotnet3.0_config +endif +if ($dotnet3.0$ = "uninstall") + Winbatch_dotnet3.0_uninstall +endif + +if ($dotnet3.5$ = "install") + Winpatch_dotnet3.5_config +endif +if ($dotnet3.5$ = "uninstall") + Winbatch_dotnet3.5_uninstall +endif + +if ($dotnet4.0$ = "install") + Winpatch_dotnet4.0_config +endif +if ($dotnet4.0$ = "uninstall") + Winbatch_dotnet4.0_uninstall +endif + +if ($dotnet4.5$ = "install") + Winpatch_dotnet4.5_config +endif +if ($dotnet4.5$ = "uninstall") + Winbatch_dotnet4.5_uninstall +endif + +if ($msjsharp$ = "install") + Winpatch_msjsharp_config +endif +if ($msjsharp$ = "uninstall") + Winbatch_msjsharp_uninstall +endif + +if ($silver$ = "install") + Winpatch_silver_config +endif +if ($silver$ = "uninstall") + Winbatch_silver_uninstall +endif + +if ($jre7$ = "install") + Winpatch_jre7_config +endif +if ($jre7$ = "uninstall") + Winbatch_jre7_uninstall +endif + +if ($AdobeShock$ = "install") + Winpatch_AdobeShock_config +endif +if ($AdobeShock$ = "uninstall") + Winbatch_AdobeShock_uninstall +endif + +if ($basicruntimes$ = "install") + Winpatch_basicruntimes_config +endif +if ($basicruntimes$ = "uninstall") + Winbatch_basicruntimes_uninstall +endif + +if ($msdx9$ = "install") + Winpatch_msdx9_config +endif +if ($msdx9$ = "uninstall") + Winbatch_msdx9_uninstall +endif + +if ($msdxm$ = "install") + Winpatch_msdxm_config +endif +if ($msdxm$ = "uninstall") + Winbatch_msdxm_uninstall +endif + +if ($msvc$ = "install") + Winpatch_msvc_config +endif +if ($msvc$ = "uninstall") + Winbatch_msvc_uninstall +endif + +if ($AdobeFlash$ = "install") + Winpatch_AdobeFlash_config +endif +if ($AdobeFlash$ = "uninstall") + Winbatch_AdobeFlash_uninstall +endif + +Dospatch_finish_config + + +[Winpatch_init_config] +vcopy "%ScriptPath%\Config\WinPKG.xml" "$LogDir$" + +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/timer[@value=40]/@value" -v $timer_value$ "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/timer[@enabled=1]/@enabled" -v $timer_enabled$ "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_dotnet1.1_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='net1.1']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_dotnet2.0_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='net2.0']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_dotnet3.0_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='net3.0']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_dotnet3.5_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='net3.5']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_dotnet4.0_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='net4.0']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_dotnet4.5_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='net4.5']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_msjsharp_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='msjsharp']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_silver_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='silver']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_jre7_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='jre7']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_AdobeShock_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='AdobeShock']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_basicruntimes_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='basicruntimes']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_msdx9_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='msdx9']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_msdxm_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='msdxm']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_msvc_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='msvc']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Winpatch_AdobeFlash_config] +vcopy "$LogDir$\WinPKG.xml" "$LogDir$\WinPKG.xml.old" +xml ed -O -u "/settings/set[@component='AdobeFlash']/@checked" -v 1 "$LogDir$\WinPKG.xml.old" > "$LogDir$\WinPKG.xml" + +[Dospatch_finish_config] +move $LogDir$\WinPKG.xml "%System%" +del $LogDir$\WinPKG.xml.old + + + +[Winbatch_dotnet1.1_uninstall] +%ScriptPath%\UnInstall\NET\cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 1.1 /u" + +[Winbatch_dotnet2.0_uninstall] +%ScriptPath%\UnInstall\NET\cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 2.0 /u" + +[Winbatch_dotnet3.0_uninstall] +%ScriptPath%\UnInstall\NET\cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 3.0 /u" + +[Winbatch_dotnet3.5_uninstall] +%ScriptPath%\UnInstall\NET\cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 3.5 /u" + +[Winbatch_dotnet4.0_uninstall] +%ScriptPath%\UnInstall\NET\cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 4.0 /u" + +[Winbatch_dotnet4.5_uninstall] +%ScriptPath%\UnInstall\NET\cleanup_tool.exe /q:a /c:"cleanup.exe /p .NET Framework 4.5 /u" + +[Winbatch_msjsharp_uninstall] + +[Winbatch_silver_uninstall] + +[Winbatch_jre7_uninstall] +vcopy "%ScriptPath%\UnInstall\Package\JRE\JavaRa.*" "$LogDir$\" +$LogDir$\JavaRa.exe /REMOVEOLD /SILENT /UPDATEDEFS + +[Winbatch_AdobeShock_uninstall] + +[Winbatch_basicruntimes_uninstall] + +[Winbatch_msdx9_uninstall] + +[Winbatch_msdxm_uninstall] + +[Winbatch_msvc_uninstall] + +[Winbatch_AdobeFlash_uninstall] + diff --git a/CLIENT_DATA/delsub3264.ins b/CLIENT_DATA/delsub3264.ins new file mode 100644 index 0000000..2907665 --- /dev/null +++ b/CLIENT_DATA/delsub3264.ins @@ -0,0 +1,140 @@ +; 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/en/credits/ + + +Set $UninstallProgram32$ = $InstallDir32$ + "\" + $UninstallProg32$ +Set $IniFile32$ = $InstallDir32$ + "\opsi-" + $ProductId$ + ".ini" + +Set $UninstallProgram64$ = $InstallDir64$ + "\" + $UninstallProg64$ +Set $IniFile64$ = $InstallDir64$ + "\opsi-" + $ProductId$ + ".ini" + +if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") + if FileExists($IniFile32$) + Set $OLD_VERSION$ = GetValueFromInifile($IniFile32$,"COMMON","VERSION","") + Set $OLD_CREATOR_TAG$ = GetValueFromInifile($IniFile32$,"COMMON","CREATOR_TAG","") + Set $OLD_RELEASE$ = GetValueFromInifile($IniFile32$,"COMMON","RELEASE","") + endif + Message "Uninstalling " + $ProductId$ + " "+ $OLD_VERSION$ + "-" + $OLD_CREATOR_TAG$ + $OLD_RELEASE$ + " 32 Bit..." + + if FileExists($IniFile32$) + Set $UninstallProg32$ = GetValueFromInifile($IniFile32$,"X86","UninstallProg32","XXXXXXXX.exe") + Set $UninstallProgramOld32$ = $InstallDir32$ + "\" + $UninstallProg32$ + if FileExists($UninstallProgramOld32$) + comment "Uninstall program found, starting uninstall" + Winbatch_uninstall_old_32 + sub_check_exitcode + endif + endif + if FileExists($UninstallProgram32$) + comment "Uninstall program found, starting uninstall" + Winbatch_uninstall_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")) + if FileExists($IniFile64$) + Set $OLD_VERSION$ = GetValueFromInifile($IniFile64$,"COMMON","VERSION","") + Set $OLD_CREATOR_TAG$ = GetValueFromInifile($IniFile64$,"COMMON","CREATOR_TAG","") + Set $OLD_RELEASE$ = GetValueFromInifile($IniFile64$,"COMMON","RELEASE","") + endif + Message "Uninstalling " + $ProductId$ + " "+ $OLD_VERSION$ + "-" + $OLD_CREATOR_TAG$ + $OLD_RELEASE$ + " 64 Bit..." + + if FileExists($IniFile64$) + Set $UninstallProg64$ = GetValueFromInifile($IniFile64$,"X86_64","UninstallProg64","XXXXXXXX.exe") + Set $UninstallProgramOld64$ = $InstallDir64$ + "\" + $UninstallProg64$ + if FileExists($UninstallProgramOld64$) + comment "Uninstall program found, starting uninstall" + Winbatch_uninstall_old_64 + sub_check_exitcode + endif + endif + if FileExists($UninstallProgram64$) + comment "Uninstall program found, starting uninstall" + Winbatch_uninstall_64 + sub_check_exitcode + endif + + comment "Delete files" + Files_uninstall_64 /64Bit + comment "Cleanup registry" + Registry_uninstall /64Bit + + comment "Reboot" + ExitWindows /ImmediateReboot +endif + +comment "Delete program shortcuts" +LinkFolder_uninstall + +[Winbatch_uninstall_old_32] + +[Winbatch_uninstall_32] + +[Files_uninstall_32] +; Example for recursively deleting the installation directory (don't forget the trailing backslash): +; +delete -sf "$InstallDir32$\" + +[Winbatch_uninstall_old_64] + +[Winbatch_uninstall_64] + +[Files_uninstall_64] +; Example for recursively deleting the installation directory: +; +del -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/login.ins b/CLIENT_DATA/login.ins new file mode 100644 index 0000000..7b85744 --- /dev/null +++ b/CLIENT_DATA/login.ins @@ -0,0 +1,24 @@ +; 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/en/credits/ + +[Actions] +Message "Profile Patch for VLC ...." + +comment "Did we run this script before ? - and set version stamp in profile" +if getValue("installationstate", getProductMap) = "installed" + comment "Product is installed" + if not (scriptWasExecutedBefore) + comment "loginscript was not run yet " + Files_profile_copy + Registry_currentuser_set + endif +endif + +[Files_profile_copy] +copy "%Scriptpath%\profiles\*.*" "%CurrentAppdataDir%\ACME" + +[Registry_currentuser_set] +openkey [HKCU\Software\ACME] +set "show_greeting_window" = "no" diff --git a/CLIENT_DATA/opsi-sereby.aio.ini b/CLIENT_DATA/opsi-sereby.aio.ini new file mode 100644 index 0000000..3bcccd3 --- /dev/null +++ b/CLIENT_DATA/opsi-sereby.aio.ini @@ -0,0 +1,7 @@ +[X86] + +[X86_64] + +[COMMON] +PN=name +VERSION=version diff --git a/CLIENT_DATA/setup3264.ins b/CLIENT_DATA/setup3264.ins new file mode 100644 index 0000000..8e43681 --- /dev/null +++ b/CLIENT_DATA/setup3264.ins @@ -0,0 +1,201 @@ +; 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/en/credits/ + +[Actions] +requiredWinstVersion >= "4.11.2.6" + +DefVar $UninstallProgram32$ +DefVar $UninstallProgramOld32$ +DefVar $IniFile32$ +DefVar $UninstallProgram64$ +DefVar $UninstallProgramOld64$ +DefVar $IniFile64$ +DefVar $IniCfgFile$ +DefVar $LogDir$ +DefVar $ProductId$ +DefVar $MinimumSpace$ +DefVar $InstallDir32$ +DefVar $InstallDir64$ +DefVar $ExitCode$ +DefVar $INST_SystemType$ +DefVar $INST_architecture$ +DefVar $OLD_VERSION$ +DefVar $OLD_CREATOR_TAG$ +DefVar $OLD_RELEASE$ + +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 - +; ---------------------------------------------------------------- +;$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 $MinimumSpace$ = "400 MB" +; the path were we find the product after the installation +Set $InstallDir32$ = "%ProgramFiles32Dir%\Sereby AIO" +Set $InstallDir64$ = "%ProgramFiles64Dir%\Sereby AIO" +; ---------------------------------------------------------------- + +Set $IniCfgFile$ = "%ScriptPath%\opsi-" + $ProductId$ + ".ini" + +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" $NAME$ + + if FileExists("%ScriptPath%\control3264.ins") + comment "Start Config sub section" + Sub "%ScriptPath%\control3264.ins" + endif + + if FileExists("%ScriptPath%\delsub3264.ins") + comment "Start uninstall sub section" + Sub "%ScriptPath%\delsub3264.ins" + endif + + comment "installing" + + if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only") + Message "Installing " + $ProductId$ + " "+ $VERSION$ + "-" + $CREATOR_TAG$ + $RELEASE$ + " 32 Bit..." + comment "Start setup program" + ChangeDirectory "%SCRIPTPATH%" + Winbatch_install_32 + Sub_check_exitcode + comment "Copy files" + Files_install_32 /32Bit + comment "Patch Registry" + Registry_install /32Bit + comment "Create shortcuts" + LinkFolder_install + endif + + if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only")) + Message "Installing " + $ProductId$ + " "+ $VERSION$ + "-" + $CREATOR_TAG$ + $RELEASE$ + " 64 Bit..." + comment "Start setup program" + ChangeDirectory "%SCRIPTPATH%" + Winbatch_install_64 + Sub_check_exitcode + comment "Copy files" + Files_install_64 /64Bit + comment "Patch Registry" + Registry_install /64Bit + comment "Create shortcuts" + LinkFolder_install + endif + + comment "Reboot" + ExitWindows /ImmediateReboot +endif + +[Winbatch_install_32] +"%ScriptPath%\Install\WinPKG.exe" + +[Files_install_32] +; copy the ini file to the InstallDir +copy "$IniCfgFile$" "$InstallDir32$" + +; Example of recursively copying some files into the installation directory: +; +copy -s "%ScriptPath%\Install\WinPKG.exe" "$InstallDir32$" + +[Winbatch_install_64] +"%ScriptPath%\Install\WinPKG.exe" + +[Files_install_64] +; copy the ini file to the InstallDir +copy "$IniCfgFile$" "$InstallDir64$" + +; Example of recursively copying some files into the installation directory: +; +copy -s "%ScriptPath%\Install\WinPKG.exe" "$InstallDir64$" + +[Registry_install] +; Example of setting some values of an registry key: +; +; openkey [HKEY_LOCAL_MACHINE\Software\$ProductId$] +; set "name1" = "some string value" +; set "name2" = REG_DWORD:0001 +; set "name3" = REG_BINARY:00 af 99 cd + +[LinkFolder_install] +; Example of deleting a folder from AllUsers startmenu: +; +; set_basefolder common_programs +; delete_subfolder $ProductId$ +; +; Example of creating an shortcut to the installed exe in AllUsers startmenu: +; +; set_basefolder common_programs +; set_subfolder $ProductId$ +; +; set_link +; name: $ProductId$ +; target: +; parameters: +; working_dir: $InstallDir$ +; icon_file: +; icon_index: +; end_link +; +; Example of creating an shortcut to the installed exe on AllUsers desktop: +; +; set_basefolder common_desktopdirectory +; set_subfolder "" +; +; set_link +; name: $ProductId$ +; target: +; parameters: +; working_dir: $InstallDir$ +; icon_file: +; icon_index: 2 +; end_link + +[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/uninstall3264.ins b/CLIENT_DATA/uninstall3264.ins new file mode 100644 index 0000000..3c09792 --- /dev/null +++ b/CLIENT_DATA/uninstall3264.ins @@ -0,0 +1,67 @@ +; 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/en/credits/ + +[Actions] +requiredWinstVersion >= "4.11.2.6" + +DefVar $UninstallProg32$ +DefVar $UninstallProgram32$ +DefVar $UninstallProgramOld32$ +DefVar $IniFile32$ +DefVar $UninstallProg64$ +DefVar $UninstallProgram64$ +DefVar $UninstallProgramOld64$ +DefVar $IniFile64$ +DefVar $IniCfgFile$ +DefVar $LogDir$ +DefVar $ExitCode$ +DefVar $ProductId$ +DefVar $InstallDir32$ +DefVar $InstallDir64$ +DefVar $INST_SystemType$ +DefVar $INST_architecture$ +DefVar $OLD_VERSION$ +DefVar $OLD_CREATOR_TAG$ +DefVar $OLD_RELEASE$ + +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 $InstallDir32$ = "%ProgramFiles32Dir%\Sereby AIO" +Set $InstallDir64$ = "%ProgramFiles64Dir%\Sereby AIO" +; ---------------------------------------------------------------- + +Set $IniCfgFile$ = "%ScriptPath%\opsi-" + $ProductId$ + ".ini" + +comment "Show product picture" +ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $NAME$ + +Message "Uninstalling " + $ProductId$ + " ..." + +if FileExists("%ScriptPath%\control3264.ins") + comment "Start config sub section" + Sub "%ScriptPath%\control3264.ins" +endif + +if FileExists("%ScriptPath%\delsub3264.ins") + comment "Start uninstall sub section" + Sub "%ScriptPath%\delsub3264.ins" +endif + diff --git a/JavaRa-2.1.zip.sha1sum b/JavaRa-2.1.zip.sha1sum new file mode 100644 index 0000000..7e6a586 --- /dev/null +++ b/JavaRa-2.1.zip.sha1sum @@ -0,0 +1 @@ +7cad37077263821644e705da83f84394001ea1d4 /home/mario/.opsi-dist-cache/sereby.aio-2.0.3.1/ALL/JavaRa-2.1.zip diff --git a/OPSI/control b/OPSI/control index bbfe7f3..00fcb18 100644 --- a/OPSI/control +++ b/OPSI/control @@ -13,8 +13,8 @@ version: VERSION priority: PRIORITY licenseRequired: False productClasses: -setupScript: setup.ins -uninstallScript: +setupScript: setup3264.ins +uninstallScript: uninstall3264.ins updateScript: alwaysScript: onceScript: @@ -36,50 +36,11 @@ requiredProduct: sourceforge.xmlstarlet requiredStatus: installed requirementType: before -[ProductProperty] -type: unicode -name: win8_net3.5 -multivalue: False -editable: False -description: Install Netframework 2.0 - 3.5 on Windows 8. Copy \sources\sys\*.* from installation medium to your opsi_depot\sereby.aio\X86\net3.5-win8 folder. -values: ["0", "1"] -default: ["1"] - -[ProductProperty] -type: unicode -name: java_reinstall -multivalue: False -editable: False -description: Remove all versions of Java and install the latest version (from sereby packet) -values: ["0", "1"] -default: ["1"] - -[ProductProperty] -type: unicode -name: extract_install -multivalue: False -editable: False -description: Install the extracted version of the sereby packet on opsiserver -values: ["0", "1"] -default: ["0"] - -[ProductProperty] -type: unicode -name: extract_use -multivalue: False -editable: False -description: Use the extracted version of the sereby packet on opsiserver. If set to auto extracted version will be used for wan connections. -values: ["0", "1", "auto"] -default: ["0"] - -[ProductProperty] -type: unicode -name: connection_set_max_latency -multivalue: False -editable: True -description: Defines the maximum latency (in ms) between server and client for local connection. If connection latency is above this value wan will be set to true. -values: ["30"] -default: ["30"] +[ProductDependency] +action: setup +requiredProduct: kliu.vcopy +requiredStatus: installed +requirementType: before [ProductProperty] type: unicode @@ -101,135 +62,136 @@ default: ["1"] [ProductProperty] type: unicode -name: inst_net1.1 +name: dotnet1.1 multivalue: False editable: False description: Install Microsoft Netframework 1.1 -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_net2.0 +name: dotnet2.0 multivalue: False editable: False description: Install Microsoft Netframework 2.0 -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_net3.0 +name: dotnet3.0 multivalue: False editable: False description: Install Microsoft Netframework 3.0 -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_net3.5 +name: dotnet3.5 multivalue: False editable: False description: Install Microsoft Netframework 3.5 -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_net4.0 +name: dotnet4.0 multivalue: False editable: False description: Install Microsoft Netframework 4.0 -values: ["0", "1"] -default: ["0"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_net4.5 +name: dotnet4.5 multivalue: False editable: False description: Install Microsoft Netframework 4.5 -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_msjsharp +name: msjsharp multivalue: False editable: False description: Install Microsoft Visual J-Sharp 2.0 SE -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_silver +name: silver multivalue: False editable: False description: Install Microsoft Silverlight 5 -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_jre7 +name: jre7 multivalue: False editable: False description: Install Java Runtime Environment 7 -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_AdobeShock +name: AdobeShock multivalue: False editable: False description: Install Adobe Shockwave Player 11.6 -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_basicruntimes +name: basicruntimes multivalue: False editable: False description: Install Basic Runtimes -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_msdx9 +name: msdx9 multivalue: False editable: False description: Install Microsoft DirectX 9.0c Redistributable -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_msdxm +name: msdxm multivalue: False editable: False description: Install Microsoft DirectX for Managed Code -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_msvc +name: msvc multivalue: False editable: False description: Install Microsoft Visual C++ Runtimes -values: ["0", "1"] -default: ["1"] +values: ["install", "none", "uninstall"] +default: ["install"] [ProductProperty] type: unicode -name: inst_AdobeFlash +name: AdobeFlash multivalue: False editable: False -description: Adobe Flash Player 11.4 -values: ["0", "1"] -default: ["1"] +description: Adobe Flash Player +values: ["install", "none", "uninstall"] +default: ["install"] + diff --git a/aio-runtimes_v2.0.3.1.7z.sha1sum b/aio-runtimes_v2.0.3.1.7z.sha1sum index 427f42d..9424c2d 100644 --- a/aio-runtimes_v2.0.3.1.7z.sha1sum +++ b/aio-runtimes_v2.0.3.1.7z.sha1sum @@ -1 +1 @@ -c81e297f90358ed57007c597f2699f992cb58ddc /home/opsiproducts/.opsi-dist-cache/sereby.aio-2.0.3.1/X86/sereby/aio-runtimes_v2.0.3.1.7z +af12239e3e43fc9f9e53bb2827c67dbb1bad10b5 /home/mario/.opsi-dist-cache/sereby.aio-2.0.3.1/ALL/aio-runtimes_v2.0.3.1.7z diff --git a/builder-product.cfg b/builder-product.cfg index 2a8eded..c0cbac1 100644 --- a/builder-product.cfg +++ b/builder-product.cfg @@ -18,7 +18,7 @@ TYPE="public" ICON_DL_INDEX=0 ################## -### Download files +### Download files and updates ################## ## 0: Image @@ -28,29 +28,46 @@ DL_SOURCE[0]="http://www.chip.de/ii/102791693_ff1cd10758.jpg" ## 1: 32 & 64 Bit Runtimes DL_FILE[1]="aio-runtimes_v${VERSION}.7z" DL_SOURCE[1]="http://www.computerbase.de/downloads/system/all-in-one-runtimes/60732/?download" -DL_ARCH[1]="X86/sereby" +DL_ARCH[1]="X86" DL_EXTRACT_FORMAT[1]="7zip" -## 2: 32 & 64 Bit Net Framework 2.0 - 3.5 for Windows 8 -DL_FILE[2]="dotNetFx3.5_8.7z" -DL_SOURCE[2]="file://" -DL_ARCH[2]="X86/net3.5-win8" +DL_FILE[2]="dimpel-aio-runtimes_v${VERSION}.7z" +DL_SOURCE[2]="http://german-unattended.de/~dimpel/Addons/aio-runtimes_v2.0.3.7z" +DL_ARCH[2]="X86" DL_EXTRACT_FORMAT[2]="7zip" - - +DL_EXTRACT_TO[2]="dimpel" ################## -### Variables +### Uninstallers ################## -WINST_NAME[0]=Install32Exe -WINST_VALUE[0]="@DL_EXTRACT_WINST_PATH[1]@\\svcpack\\aio-runtimes.exe" +DL_FILE[3]="dotnetfx_5F00_cleanup_5F00_tool.zip" +DL_SOURCE[3]="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-08-90-44-93/dotnetfx_5F00_cleanup_5F00_tool.zip" +DL_ARCH[3]="X86" +DL_EXTRACT_FORMAT[3]="unzip" +DL_EXTRACT_TO[3]="dotnet" -WINST_NAME[1]=Install64Exe -WINST_VALUE[1]="@DL_EXTRACT_WINST_PATH[1]@\\svcpack\\aio-runtimes.exe" +DL_FILE[4]="JavaRa-2.1.zip" +DL_SOURCE[4]="http://download.thewebatom.net/50f69935741f0/JavaRa-2.1.zip" +DL_ARCH[4]="X86" +DL_EXTRACT_FORMAT[4]="unzip" -WINST_NAME[2]=Install_extracted_32Exe -WINST_VALUE[2]="@DL_EXTRACT_WINST_PATH[1]@\\extracted\\WinPKG.exe" +DL_FILE[5]="uninstall_flash_player.exe" +DL_SOURCE[5]="http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe" +DL_ARCH[5]="X86" +DL_WINST_NAME[5]=UninstallFlashExe -WINST_NAME[3]=Install_extracted_64Exe -WINST_VALUE[3]="@DL_EXTRACT_WINST_PATH[1]@\\extracted\\WinPKG.exe" +DL_FILE[6]="uninstall_shock_player.exe" +DL_SOURCE[6]="http://fpdownload.macromedia.com/get/shockwave/uninstall/win/sw_uninstaller.exe" +DL_ARCH[6]="X86" +DL_WINST_NAME[6]=UninstallShockExe + + + +OPSI_INI_SECTION[0]="X86" +OPSI_INI_OPTION[0]="UninstallProg32" +OPSI_INI_VALUE[0]="WinPKG.exe" + +OPSI_INI_SECTION[1]="X86_64" +OPSI_INI_OPTION[1]="UninstallProg64" +OPSI_INI_VALUE[1]="WinPKG.exe" diff --git a/builder-targets-cb.sh b/builder-targets-cb.sh index 1deae7a..bf516d7 100644 --- a/builder-targets-cb.sh +++ b/builder-targets-cb.sh @@ -24,3 +24,31 @@ function cleanup() { builder_cleanup } +function create() { + echo "Create" + builder_create + + # create directories and extract the runtime packages + mkdir -p $INST_DIR/CLIENT_DATA/{Install,Config,X86/Dimpel} + mkdir -p $INST_DIR/CLIENT_DATA/UnInstall/Packages/{Flash,Shockwave} + 7z x -o$INST_DIR/CLIENT_DATA/Install $INST_DIR/CLIENT_DATA/X86/svcpack/aio-runtimes.exe + 7z x -o$INST_DIR/CLIENT_DATA/X86/Dimpel $INST_DIR/CLIENT_DATA/X86/dimpel/svcpack/aio-runtimes.exe + + # update parts of the sereby with the Dimple package + # rsync -a $INST_DIR/CLIENT_DATA/X86/Dimpel/Packages/JRE/* $INST_DIR/CLIENT_DATA/Install/Packages/JRE + rsync -a $INST_DIR/CLIENT_DATA/X86/Dimpel/Packages/Flash/* $INST_DIR/CLIENT_DATA/Install/Packages/Flash + # rsync -a $INST_DIR/CLIENT_DATA/X86/Dimpel/Packages/Shockwave/* $INST_DIR/CLIENT_DATA/Install/Packages/Shockwave + + # sed everything to disabled + sed -e "s!\"1\"!\"0\"!g" -e "s!maximized=\"0\"!maximized=\"1\"!" $INST_DIR/CLIENT_DATA/X86/winpkg/WinPKG.xml > $INST_DIR/CLIENT_DATA/Config/WinPKG.xml + + # move the uninstallers in place (directory layout like the sereby package) + mv -v $INST_DIR/CLIENT_DATA/X86/JavaRa $INST_DIR/CLIENT_DATA/UnInstall/Packages/JRE + mv -v $INST_DIR/CLIENT_DATA/JavaUninstallScript.vbs $INST_DIR/CLIENT_DATA/UnInstall/Packages/JRE + mv -v $INST_DIR/CLIENT_DATA/X86/dotnet $INST_DIR/CLIENT_DATA/UnInstall/NET + mv -v $INST_DIR/CLIENT_DATA/X86/uninstall_flash_player.exe $INST_DIR/CLIENT_DATA/UnInstall/Packages/Flash + mv -v $INST_DIR/CLIENT_DATA/X86/uninstall_shock_player.exe $INST_DIR/CLIENT_DATA/UnInstall/Packages/Shockwave + + # delete the temp directory + rm -rf $INST_DIR/CLIENT_DATA/X86 +} \ No newline at end of file diff --git a/dimpel-aio-runtimes_v2.0.3.1.7z.sha1sum b/dimpel-aio-runtimes_v2.0.3.1.7z.sha1sum new file mode 100644 index 0000000..b870587 --- /dev/null +++ b/dimpel-aio-runtimes_v2.0.3.1.7z.sha1sum @@ -0,0 +1 @@ +fbace06aa46d386c552887a08f57b5d4d2888181 /home/mario/.opsi-dist-cache/sereby.aio-2.0.3.1/X86/dimpel-aio-runtimes_v2.0.3.1.7z diff --git a/dotNetFx3.5_8.7z.sha1sum b/dotNetFx3.5_8.7z.sha1sum deleted file mode 100644 index 740b0c2..0000000 --- a/dotNetFx3.5_8.7z.sha1sum +++ /dev/null @@ -1 +0,0 @@ -e12845e1ce5ac508daf76b311afa3ec7df4a6b00 /home/opsiproducts/.opsi-dist-cache/sereby.aio-2.0.2/X86/net3.5-win8/dotNetFx3.5_8.7z diff --git a/dotnetfx_5F00_cleanup_5F00_tool.zip.sha1sum b/dotnetfx_5F00_cleanup_5F00_tool.zip.sha1sum new file mode 100644 index 0000000..9c14f6d --- /dev/null +++ b/dotnetfx_5F00_cleanup_5F00_tool.zip.sha1sum @@ -0,0 +1 @@ +b06e0162408ca4030f3fa43b99cef1fdbd17371c /home/mario/.opsi-dist-cache/sereby.aio-2.0.3.1/ALL/dotnetfx_5F00_cleanup_5F00_tool.zip diff --git a/uninstall_flash_player.exe.sha1sum b/uninstall_flash_player.exe.sha1sum new file mode 100644 index 0000000..0e87c35 --- /dev/null +++ b/uninstall_flash_player.exe.sha1sum @@ -0,0 +1 @@ +28b91734e7ab0c8fe39b53790819df96d9ba3e1f /home/mario/.opsi-dist-cache/sereby.aio-2.0.3.1/ALL/uninstall_flash_player.exe diff --git a/uninstall_shock_player.exe.sha1sum b/uninstall_shock_player.exe.sha1sum new file mode 100644 index 0000000..edde267 --- /dev/null +++ b/uninstall_shock_player.exe.sha1sum @@ -0,0 +1 @@ +4096c02f32cbfc479d491bbd5b4dc72dfd4f7b4d /home/mario/.opsi-dist-cache/sereby.aio-2.0.3.1/ALL/uninstall_shock_player.exe