Differences

This shows you the differences between two versions of the page.

Link to this comparison view

userspace:freestudio_5.7.0 [2012/12/12 13:57] (current)
bhubal created
Line 1: Line 1:
 +====== Freestudio 5.7.1 ======
 +2012-12-12\\
 +Script by uib gmbh \\
 +Comments and improvements welcome \\
 +Tested with opsi 4.0.2\\
 +
 +
 +type: localboot\\
 +id: freestudio\\
 +name: FreeStudio Version\\
 +description:​ All-in-one Paket der kostenlosen Multimedia-Anwendungen von DVDVideoSoft\\
 +version: 5.7.1.822\\
 +
 +Requires dotnetfx, so make a dependency.\\
 +
 +
 +
 +Full package: http://​download.uib.de/​opsi4.0/​products/​contribute/​full-package/​
 +
 +==== setup32.ins ====
 +
 +<code winst>
 +; 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 $MsiId$
 +DefVar $UninstallProgram$
 +DefVar $LogDir$
 +DefVar $ProductId$  ​
 +DefVar $MinimumSpace$
 +DefVar $InstallDir$
 +DefVar $ExitCode$
 +DefVar $commonFiles$
 +DefVar $RebootFlag$
 +DefVar $WinstRegKey$
 +DefVar $searchscope$
 +DefVar $removeConduit$
 +DefVar $user$
 +DefVar $SearchProc$
 +DefVar $ProcStarted$
 +DefVar $ProcEnded$
 +DefVar $TimeOut$
 +DefStringlist $TimeOutList$
 +
 +Set $LogDir$ = "​%SystemDrive%\opsi.org\tmp"​
 +
 +comment "​handle Rebootflag"​
 +Set $WinstRegKey$ = "​HKLM\SOFTWARE\opsi.org\winst"​
 +Set $RebootFlag$ = GetRegistryStringValue("​["​+$WinstRegKey$+"​] "​+"​RebootFlag"​)
 +
 +
 +Set $ProductId$ ​      = "​freestudio"​
 +Set $MinimumSpace$ ​   = "5 MB"
 +; the path were we find the product after the installation
 +Set $InstallDir$ ​     = "​%ProgramFiles32Dir%\DVDVideoSoft\Free Studio\"​
 +; ----------------------------------------------------------------
 +
 +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$
 +
 + comment "​backup the actual ie default search scope"
 + set $searchscope$ = getregistrystringvalue32("​[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\SearchScopes]"​)
 + comment "check if conduit is installed"​
 + if FileExists("​%ProgramFiles32Dir%\Conduit"​)
 + set $removeConduit$ = "​false"​
 + else
 + comment "​conduit do not exist before Installation - so we will remove it  later"
 + set $removeConduit$ = "​true"​
 + endif
 +
 + if FileExists("​%ScriptPath%\delsub32.ins"​)
 + comment "Start uninstall sub section"​
 + Sub "​%ScriptPath%\delsub32.ins"​
 + endif
 +
 + Message "​Installing " + $ProductId$ + " ..."
 +
 + if getmsversioninfo < "​6.0"​
 + if ""​ = getregistrystringvalue32("​[hklm\software\microsoft\windows\currentversion\uninstall\KB932716-v2] DisplayName"​)
 + comment "​needed (KB932716-v2) is not existing"​
 + if ($RebootFlag$ = "​KB932716-v2-installed"​)
 + set $RebootFlag$ = ""​
 + Registry_SaveRebootFlag
 + LogError "​Error:​ we installed KB932716-v2 before but it is not existing after reboot"​
 + isFatalError
 + else
 + comment "​install Image Mastering API v2.0 (IMAPIv2.0) für Windows XP (KB932716)"​
 + winbatch_install_imapi
 + Sub_check_exitcode
 + set $RebootFlag$ = "​KB932716-v2-installed"​
 + Registry_SaveRebootFlag
 + ExitWindows /​ImmediateReboot
 + endif
 + else
 + comment "seems to be installed: Image Mastering API v2.0 (IMAPIv2.0) für Windows XP (KB932716)"​
 + set $RebootFlag$ = ""​
 + Registry_SaveRebootFlag
 + endif
 + endif
 +
 + comment "Start setup program"​
 + ;if getmsversioninfo >= "​6.0"​
 + killtask "​iexplore.exe"​
 + killtask "​firefox.exe"​
 + ;endif
 + Files_copy_setup_2_temp
 + ChangeDirectory $LogDir$
 + if getmsversioninfo >= "​6.0"​
 + Winbatch_install /​WaitForProcessEnding "​DVSUpdate.exe"​ /​TimeOutSeconds 300
 + else
 + Winbatch_install
 + if getLastExitcode = "​1"​
 + sleepseconds 2
 + Winbatch_install
 + if getLastExitcode = "​1"​
 + sleepseconds 2
 + Winbatch_install
 + if getLastExitcode = "​1"​
 + sleepseconds 2
 + Winbatch_install
 + if getLastExitcode = "​1"​
 + ExitWindows /​ImmediateReboot
 + endif
 + endif
 + endif
 + endif
 + set $SearchProc$ = "​DVSUpdate.exe"​
 + sub_wait_until_proc_finished
 + endif
 + if getmsversioninfo >= "​6.0"​
 + killtask "​iexplore.exe"​
 + killtask "​firefox.exe"​
 + endif
 + Sub_check_exitcode
 + Files_del_setup_temp
 +
 + comment "​Deinstall Toolbar"​
 + if not (FileExists("​%ProgramFiles32Dir%\DVDVideoSoftTB_DE\uninstall.exe"​))
 + comment "wait for Toolbar install dir"
 + sleepseconds 10
 + endif
 + if FileExists("​%ProgramFiles32Dir%\DVDVideoSoftTB_DE\uninstall.exe"​)
 + Execwith_autoit_install "​%ScriptPath%\autoit3.exe"​ winst /LetThemGo
 + Winbatch_deinstall_toolbar
 + Sub_check_exitcode
 + sleepseconds 1
 + killtask "​autoit3.exe"​
 + Sub_check_exitcode
 + includelog $LogDir$+"​\au3.log"​ "​50"​
 + else
 + comment "​Toolbar install dir not found"
 + endif
 + if getmsversioninfo >= "​6.0"​
 + killtask "​iexplore.exe"​
 + killtask "​firefox.exe"​
 + endif
 +
 + comment "​delete tb installer files"
 + set $commonFiles$ = GetRegistryStringValue32("​[hklm\software\microsoft\windows\currentversion] CommonFilesDir"​ )
 + Files_del_toolbar /32Bit
 +
 + comment "​Remove search entry from Registry"​
 + Registry_remove_iesearch /32Bit
 +
 + if $removeConduit$ = "​true"​
 + Files_del_conduit
 + Registry_del_conduit
 + endif
 + Exitwindows /reboot
 +endif
 +
 +[winbatch_install_imapi]
 +"​%ScriptPath%\WindowsXP-KB932716-v2-x86-DEU.exe"​ /quiet /passive /norestart
 +
 +[Files_copy_setup_2_temp]
 +copy "​%ScriptPath%\FreeStudio.exe"​ "​$LogDir$"​
 +
 +[Files_del_setup_temp]
 +del "​$LogDir$\FreeStudio.exe"​
 +
 +[Winbatch_install]
 +; === Inno Setup ========================================================================================
 +"​$LogDir$\FreeStudio.exe"​ /sp- /silent /norestart /nocancel /​SUPPRESSMSGBOXES
 +
 +[Winbatch_deinstall_toolbar]
 +; no known silent switch
 +"​%ProgramFiles32Dir%\DVDVideoSoftTB_DE\uninstall.exe"​
 +
 +[Files_del_toolbar]
 +del "​$commonFiles$\DVDVideoSoft\bin\SubscriptionOffer.exe"​
 +del -f -s "​$commonFiles$\DVDVideoSoft\TB\"​
 +del -f -s "​%ProgramFiles32Dir%\DVDVideoSoftTB_DE\"​
 +
 +[Files_del_conduit]
 +del -f -s "​$commonFiles$\conduit\"​
 +
 +[Registry_del_conduit]
 +deletekey [HKEY_LOCAL_MACHINE\SOFTWARE\Conduit]
 +
 +[Registry_remove_iesearch]
 +deletekey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\SearchScopes\{afdbddaa-5d3f-42ee-b79c-185a7020515b}]
 +openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\SearchScopes]
 +set ""​ = "​$searchscope$"​
 +
 +[Execwith_autoit_install]
 +#​RequireAdmin
 +;​Blockinput(1)
 +;​run("​%ProgramFiles32Dir%\DVDVideoSoftTB_DE\uninstall.exe"​)
 +; exact title match
 +Opt("​WinTitleMatchMode",​ 3)
 +$mylog = FileOpen("​$LogDir$\au3.log",​ 2)
 +FileWriteLine($mylog,"​auto-it started - waiting for the window"​)
 +; do not use winwait(), it will fail on other desktops than current
 +$seconds = 0
 +$exists = 0
 +While ($seconds <= 300) and ($exists = 0)
 + $exists = WinExists("​Toolbar Uninstall","​Are you sure")
 + FileWriteLine($mylog,"​winexists result (1=exists): " & $exists )
 + $seconds = $seconds + 1
 +sleep(1000)
 +WEnd
 +FileWriteLine($mylog,"​window detected - sending answer"​)
 +; next
 +$result = ControlClick("​Toolbar Uninstall","​Are you sure", 1)
 +FileWriteLine($mylog,"​answer sended: result (1=success) : " & $result)
 +Blockinput(0)
 +FileClose($mylog)
 +;Sleep(500)
 +;and good bye
 +Exit @error
 +
 +[Registry_SaveRebootFlag]
 +openKey [$WinstRegKey$]
 +set "​RebootFlag"​ = "​$RebootFlag$"​
 +
 +[sub_wait_until_proc_finished]
 +set $ProcStarted$="​0"​
 +set $ProcEnded$="​0"​
 +set $TimeOut$="​0"​
 +set $TimeOutList$= createStringList("​0","​1","​2","​3","​4","​5","​6","​7","​8","​end"​)
 +for %t% in $TimeOutList$ do sub_proclook_and_wait
 +
 +[sub_proclook_and_wait]
 +if ("​%t%"​="​end"​)
 + set $TimeOut$="​1"​
 + comment "​Timeout reached"​
 +endif
 +if ($TimeOut$="​0"​) and ($ProcEnded$="​0"​)
 + if not (""​ = takefirststringcontaining(getProcessList,​$SearchProc$))
 + comment $SearchProc$+ " is running"​
 + if $ProcStarted$="​0"​
 + set $ProcStarted$="​1"​
 + set $ProcEnded$="​0"​
 + comment $SearchProc$+ " has started"​
 + sleepseconds 20
 + else
 + comment "​waiting for ending of "​+$SearchProc$
 + sleepseconds 20
 + endif
 + else
 + comment $SearchProc$+ " is not running"​
 + if $ProcStarted$="​1"​
 + set $ProcEnded$="​1"​
 + comment $SearchProc$+ " has ended"
 + else
 + comment "​waiting for start of "​+$SearchProc$
 + sleepseconds 20
 + endif
 + endif
 +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."​
 + Exitwindows /Reboot
 + 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."​
 + Exitwindows /Reboot
 + else
 + logError "​Fatal:​ Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
 + isFatalError
 + endif
 + endif
 + endif
 +endif
 +
 +
 +</​code>​
 +
 +==== uninstall32.ins ====
 +
 +<code winst>
 +; 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 $MsiId$
 +DefVar $UninstallProgram$
 +DefVar $LogDir$
 +DefVar $ExitCode$
 +DefVar $ProductId$
 +DefVar $InstallDir$
 +DefVar $LicenseRequired$
 +DefVar $LicensePool$
 +
 +Set $LogDir$ = "​%SystemDrive%\opsi.org\tmp"​
 +
 +; ----------------------------------------------------------------
 +; - Please edit the following values ​                            -
 +; ----------------------------------------------------------------
 +Set $ProductId$ ​      = "​freestudio"​
 +Set $InstallDir$ ​     = "​%ProgramFiles32Dir%\\DVDVideoSoft\Free Studio\"​
 +; ----------------------------------------------------------------
 +
 +
 +comment "Show product picture"​
 +ShowBitmap "​%ScriptPath%\"​ + $ProductId$ + "​.png"​ $ProductId$
 +
 +Message "​Uninstalling " + $ProductId$ + " ..."
 +
 +if FileExists("​%ScriptPath%\delsub32.ins"​)
 + comment "Start uninstall sub section"​
 + Sub "​%ScriptPath%\delsub32.ins"​
 +endif
 +
 +</​code>​
 +
 +==== delsub32.ins ====
 +
 +<code winst>
 +; 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 $UninstallProgram$ = $InstallDir$ + "​unins000.exe"​
 +
 +Message "​Uninstalling " + $ProductId$ + " ..."
 +
 +if FileExists($UninstallProgram$)
 + comment "​Uninstall program found, starting uninstall"​
 + ;​Winbatch_uninstall /​WaitForProcessEnding "​DVSVideoToolbarHelper.exe"​ /​TimeOutSeconds 40
 + Winbatch_uninstall
 + sub_check_exitcode
 + comment "​Delete files"
 + Files_uninstall /32Bit
 + if getmsversioninfo < "​6.0"​
 + ExitWindows /​ImmediateReboot
 + endif
 +endif
 +
 +sleepseconds 2
 +if getmsversioninfo >= "​6.0"​
 + killtask "​iexplore.exe"​
 + killtask "​firefox.exe"​
 +endif
 +
 +[Winbatch_uninstall]
 +; === Inno Setup ========================================================================================
 +"​$UninstallProgram$"​ /silent /norestart /​SUPPRESSMSGBOXES /nocancel
 +
 +[Files_uninstall]
 +del -sf "​$InstallDir$\"​
 +
 +[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."​
 + Exitwindows /Reboot
 + 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."​
 + Exitwindows /Reboot
 + else
 + logError "​Fatal:​ Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
 + isFatalError
 + endif
 + endif
 + endif
 +endif
 +
 +</​code>​
  

QR Code
QR Code userspace:freestudio_5.7.0 (generated for current page)