Dies ist mein erstes "richtiges" Script.
Es soll dazu dienen den Spielern meiner Gilde in World of Warcraft die Einrichtung der benötigten Dateien und Programme zur Benutzung des Rosters zu erleichtern.
Es überprüft, ob WoW überhaupt existiert, richtet (falls nötig) das AddOn CharakterProfiler ein, installiert (falls noch nicht vorhanden) .NET Framework 3.5 und installiert (falls noch nicht vorhanden) den UniUploader, welcher die Daten zum Roster überträgt.
Die Installationspfade werden über die Registry abgefragt.
Ich wäre über ein kurzes FeedBack und Verbesserungsvorschläge dankbar.
Grüße
Legatos
Spoiler anzeigen
; Registyabfragen
$wowinst = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment\World of Warcraft", "InstallPath")
$netinst = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework", "InstallRoot")
$windir = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")
;Überprüfung ob World of Warcraft überhaupt existiert
If FileExists($wowinst) Then
; Begrüßung^^
MsgBox(8192, "Legends of Moon", "Willkommen bei den 'Legends of Moon'.", 5)
MsgBox(8192, "Legends of Moon", "Es werden nun alle nötigen Eistellungen und Installationen für unseren Gilden-Roster vorgenommen.", 5)
MsgBox(8192, "Legends of Moon", "Bitte unterbrich diesen Vorgang nur wenn eine unvorhergesehene Fehlermeldung erscheint!!!", 5)
; Vorbereitung und Bereitstellung der Daten
DirCreate("C:\MoonRoster")
FileInstall("D:\MoonRoster\dotNetFx35setup.exe", "C:\MoonRoster\dotNetFx35setup.exe")
FileInstall("D:\MoonRoster\UniUploader_2.6.8_Moons.exe", "C:\MoonRoster\UniUploader_2.6.8_Moons.exe")
; Überprüfung und Einrichtung des CharacterProfilers
If FileExists($wowinst & "\Interface\AddOns\CharacterProfiler") Then
MsgBox(8192, "Legends of Moon", "Das AddOn 'CharacterProfiler' ist auf Deinem PC bereits integriert", 5)
Else
MsgBox(8192, "Legends of Moon", "Das AddOn 'CharacterProfiler' wird integriert:.", 5)
DirCreate($wowinst & "\Interface\AddOns\CharacterProfiler")
FileInstall("D:\MoonRoster\CharacterProfiler\CharacterProfiler.lua", $wowinst & "\Interface\AddOns\CharacterProfiler\CharacterProfiler.lua")
FileInstall("D:\MoonRoster\CharacterProfiler\CharacterProfiler.toc", $wowinst & "\Interface\AddOns\CharacterProfiler\CharacterProfiler.toc")
FileInstall("D:\MoonRoster\CharacterProfiler\localization.lua", $wowinst & "\Interface\AddOns\CharacterProfiler\localization.lua")
FileInstall("D:\MoonRoster\CharacterProfiler\rpgo.core.lua", $wowinst & "\Interface\AddOns\CharacterProfiler\rpgo.core.lua")
FileInstall("D:\MoonRoster\CharacterProfiler\rpgo.lib.lua", $wowinst & "\Interface\AddOns\CharacterProfiler\rpgo.lib.lua")
EndIf
; Überprüfung und Installation von .NET Framework
If FileExists($netinst & "\v3.5") Then
MsgBox(8192, "Legends of Moon", "Microsoft .NET Framework 3.5 ist auf Deinem PC bereits installiert", 5)
Else
MsgBox(8192, "Legends of Moon", "Microsoft .NET Framework 3.5 wird installiert. Dies wird für den UniUploader benötigt und kann einige Minuten in Anspruch nehmen.", 5)
Run("C:\MoonRoster\dotNetFx35setup.exe")
WinWaitActive("Microsoft .NET Framework 3.5-Setup", "Willkommen")
Send("+{TAB}")
Send("{SPACE}")
Send("{ENTER}")
WinWaitActive("Microsoft .NET Framework 3.5-Setup", "Setup ist abgeschlossen")
Send("{ENTER}")
EndIf
;Überprüfung und Installation des UniUploaders
If FileExists($windir & "\UniUploader") Then
MsgBox(8192, "Legends of Moon", "Der UniUploader ist bereits installiert", 5)
Else
MsgBox(8192, "Legends of Moon", "Der UniUploader wird installiert:", 5)
Run("C:\MoonRoster\UniUploader_2.6.8_Moons.exe")
WinWaitActive("Installer Language", "Please select a language")
Send("{ENTER}")
WinWaitActive("UniUploader Installation", "Willkommen beim Installations")
Send("{ENTER}")
WinWaitActive("UniUploader Installation", "Lizenzabkommen")
Send("{ENTER}")
WinWaitActive("UniUploader Installation", "Zielverzeichnis auswählen")
Send("{ENTER}")
WinWaitActive("UniUploader Installation", "Startmenü-Ordner bestimmen")
Send("{ENTER}")
WinWaitActive("UniUploader Installation", "UniUploader wurde auf Ihrem Computer installiert")
Send("{ENTER}")
EndIf
MsgBox(8192, "Legends of Moon", "Microsoft .NET Framework 3.5, der UniUploader und das AddOn 'CharacterProfiler' wurden erfolgreich installiert und bereits konfiguriert.", 5)
MsgBox(8192, "Legends of Moon", "Es müssen keine weiteren Einstellungen von Dir vorgenommen werden.", 5)
MsgBox(8192, "Legends of Moon", "Viel Spaß bei der Benutzung unseres Gilden-Rosters wünscht Euch Legatos.", 5)
;Löschen der nicht mehr benötigten Dateien
DirRemove("C:\MoonRoster", 1)
Else
MsgBox(8192, "Legends of Moon", "Ohne eine vorherige Installation von World of Warcraft ist die Installation des UniUploaders ect. eigentlich nutzlos.^^", 10)
EndIf
Exit