commit 6f431c3ff91cab81ee5bb0be389c51a3f35ca865
Author: Dennis Trinks <dennis.trinks@dtnet.de>
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%\<path to the product>"
+Set $InstallDir64$      = "%ProgramFiles64Dir%\<path to the product>"
+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%\<path to the product>"
+Set $InstallDir64$    = "%ProgramFiles64Dir%\<path to the product>"
+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_<targetname> is possible.
+#
+# Abstract:
+#  target order: config, prepare, retrieve, create, package, publish, commit, cleanup
+#  callbacks: <none>
+#
+##############################################################################
+
+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