By — ME_AS 2013/09/09
Nachfolgend meine Skripte zum automatischen Installieren von yEd
Bei den ganzen AutoIT Skripten kann man natürlich die Sleep Zeiten am Ende der Skripte auf seine Umgebung anpassen. Ich hab sie hier bewusst höher eingestellt, da der ein oder andere vielleicht noch ältere Rechner einsetzt
PS: Dies ist mein erstes AutoIT Skripte und eines meiner ersten OPSI Skripte - also falls es was zu verbessern gibt, tut euch keinen Zwang an :)
Tested with opsi 4.0.3.1
Tested with WinstVersion >= 4.11.3.6
Tested with Win7 Pro SP1 32/64bit
http://www.yworks.com/de/downloads.html#yEd
OPSI_Workbench:
AutoIt3.exe setup.ins uninstall.ins delsub32.ins yed.png yEd-3.11_without-JRE_32-bit_setup.exe yEd-3.11_without-JRE_64-bit_setup.exe yed32.au3 yed64.au3 yed_uninstall32.au3 yed_uninstall64.au3
[Actions] requiredWinstVersion >= "4.10.8.6" ;Variable Logverzeichnis DefVar $LogDir$ Set $LogDir$ = "%SystemDrive%\tmp" ;Variable Produktname DefVar $ProductId$ Set $ProductId$ = "yEd" ;Variable Freier Speicherplatz DefVar $MinimumSpace$ Set $MinimumSpace$ = "100 MB" ;Variable Installationsverzeichnis DefVar $InstallDir$ Set $InstallDir$ = "%ProgramFiles32Dir%\yEd" ;Variable ExitCodes DefVar $ExitCode$ ;Variable für die Ermittlung der Betriebssystem Unterversion DefVar $NTVersion$ set $NTVersion$ = GetNTVersion ;Variable zur Ermittlung der Systemarchitektur DefVar $SystemType$ Set $SystemType$ = GetSystemType ; ---------------------------------------------------------------- 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 endif ;OS-Version ermitteln if ( $NTVersion$ = "Win2K" OR $NTVersion$ = "WinXP" OR $NTVersion$ = "Win NT 5.2" OR $NTVersion$ = "Windows Vista" ) if $SystemType$ = "x86 System" Sub_Uninstall Winbatch_Install_32 Sub_Check_Exitcode endif if $SystemType$ = "64 Bit System" Sub_Uninstall Winbatch_Install_64 Sub_Check_Exitcode endif else LogError "Kein kompatibles Betriebssystem installiert" isFatalError endif [Sub_Uninstall] sub "%scriptpath%\delsub32.ins" [Winbatch_install_32] %scriptpath%\AutoIt3.exe %scriptpath%\yEd32.au3 [Winbatch_install_64] %scriptpath%\AutoIt3.exe %scriptpath%\yEd64.au3 [Sub_check_exitcode] Sub "%ScriptDrive%\check_exitcode\check_exitcode.ins"
[Initial] ;Standard Text, shown during installation Message = Bitte warten, das Produkt wird Deinstalliert ;Set Loglevel setLogLevel = 6 ;Stop when errors ExitOnError = false ;Syntax Fehler are shown in a seperate window ScriptErrorMessages = on ;Do not use Single-Step Mode TraceMode = off ;No winst-window in foreground while batchmode StayOnTop = false [Actions] ;Variable for the OS DefVar $OS$ Set $OS$ = GetOS ;Variable for the OS-subversion DefVar $NTVersion$ Set $NTVersion$ = GetNTVersion ;Name of product (max. 12 columns) DefVar $ProductName$ Set $ProductName$ = "yEd" ;filename of productpicture with extension DefVar $ProductPicture$ Set $ProductPicture$ = "yEd.png" ;the variable for the ExitCode DefVar $ExitCode$ ;show $ProductPicture$ and $ProductName$ ShowBitmap /3 "%scriptpath%\" + $ProductPicture$ $ProductName$ sub "%ScriptPath%\delsub32.ins"
Message "Uninstalling " + $ProductId$ + " ..." if FileExists("%ProgramFiles32Dir%\yWorks\yEd\uninstall.exe") comment "Uninstall program found, starting uninstall" Winbatch_uninstall_32 sub_check_exitcode else if FileExists("%ProgramFiles64Dir%\yWorks\yEd\uninstall.exe") comment "Uninstall program found, starting uninstall" Winbatch_uninstall_64 sub_check_exitcode endif endif [Winbatch_uninstall_32] %scriptpath%\AutoIt3.exe %scriptpath%\yEd_uninstall32.au3 [Winbatch_uninstall_64] %scriptpath%\AutoIt3.exe %scriptpath%\yEd_uninstall64.au3 [Sub_check_exitcode] Sub "%ScriptDrive%\check_exitcode\check_exitcode.ins"
;Starte yEd Installation Run ("yEd-3.11_without-JRE_32-bit_setup.exe") WinWaitActive("Setup - yEd Graph Editor 3.11","") Sleep(1000) ;Klicke Button Next Send("{SPACE}") Sleep(500) Send("{TAB}{TAB}{SPACE}{TAB}{TAB}{TAB}{SPACE}") Sleep(500) Send("{TAB}{TAB}{TAB}{SPACE}") Sleep(500) Send("{TAB}{TAB}{TAB}{TAB}{SPACE}") Sleep(500) Send("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{SPACE}") Sleep(500) Send("{TAB}{TAB}{TAB}{TAB}{SPACE}") ;Warten bis Installation fertig ist Sleep(20000) Send("{TAB}{SPACE}") Exit
;Starte yEd Installation Run ("yEd-3.11_without-JRE_64-bit_setup.exe") WinWaitActive("Setup - yEd Graph Editor 3.11","") Sleep(1000) ;Klicke Button Next Send("{SPACE}") Sleep(500) Send("{TAB}{TAB}{SPACE}{TAB}{TAB}{TAB}{SPACE}") Sleep(500) Send("{TAB}{TAB}{TAB}{SPACE}") Sleep(500) Send("{TAB}{TAB}{TAB}{TAB}{SPACE}") Sleep(500) Send("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{SPACE}") Sleep(500) Send("{TAB}{TAB}{TAB}{TAB}{SPACE}") ;Warten bis Installation fertig ist Sleep(20000) Send("{TAB}{SPACE}") Exit
;Starte yEd Deinstallation Run ("C:\Program Files (x86)\yWorks\yEd\uninstall.exe") WinWaitActive("yEd Graph Editor 3.11 Uninstall","") Sleep(1000) ;Klicke Button Next Send("{SPACE}") ;Warten bis Deinstallation fertig ist Sleep(10000) Send("{TAB}{SPACE}") Sleep(10000) Exit