#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ;~ #Warn ; Recommended for catching common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. ;eins von Beiden verwenden modus=laut ;~ modus=leise ; -----------Hier alle Informationen über das Programm ergänzen. Beispiele wurden eingefügt------------ AppVersion=1.0 AppGenaueVersion=1.00.02 AppName=Programm AppNameLang=Programm zum Testen AppDateiName=Programm.exe stringtrimright,AppDateiName,AppDateiName,4 ;Dateiendung entfernen AppUrlTxt1:="http://www.update-check.de/download/update%20info.txt" ;Seite fiktiv! AppUrlTxt2:="" AppUrlTxt3:="" msgbox,%AppVersion% %AppGenaueVersion% %AppName% %AppNameLang% %AppDateiName% %AppUrlTxt1% %AppUrlTxt2% %AppUrlTxt3% ;Debugging if modus=laut ;Wenn leise, keine Meldung zeigen splashtexton,300,70,Update Checker für %AppName%,Lade Update-Informationen für %AppNameLang% herunter FileDelete,%A_WorkingDir%\Online verfügbare Version.txt ;Alte Dateien löschen ;Ermittelt die Anzahl der mitgegebenen Update-Info-URLs AnzahlvonTxtUrls=0 ifinstring, AppUrlTxt1,http AnzahlvonTxtUrls++ ifinstring, AppUrlTxt2,http AnzahlvonTxtUrls++ ifinstring, AppUrlTxt3,http AnzahlvonTxtUrls++ ;Lade Version herunter DownloadedVersion=0 if modus=laut ;Wenn laut, dann alle URLs Checken { loop %AnzahlvonTxtUrls% { TempDownloadURL:=AppUrlTxt%a_index% URLDownloadToFile,%TempDownloadURL%,%A_WorkingDir%\Online verfügbare Version.txt ;Txt file mit den Update Informationen runterladen ;Txt File Auslesen. Wenn die Datei korrupt ist, dann wird error gespeichert. iniread,TempDownloadedVersion,%A_WorkingDir%\Online verfügbare Version.txt,Update Info,Version,error iniread,TempAppUpdateExe,%A_WorkingDir%\Online verfügbare Version.txt,Update Info,Download Path,error iniread,TempWebseiteÖffnen,%A_WorkingDir%\Online verfügbare Version.txt,Update Info,Open Site,error ;~ msgbox,%DownloadedVersion%,%AppUpdateExe% if TempDownloadedVersion<>error { ;~ msgbox ifinstring,TempDownloadedVersion,. { ;~ msgbox if (TempDownloadedVersion>DownloadedVersion) { DownloadedVersion:=TempDownloadedVersion AppUpdateExe:=TempAppUpdateExe WebseiteÖffnen:=TempWebseiteÖffnen } } } ;~ msgbox,%DownloadedVersion%`n%GrößteDownloadedVersion% } } else ;Wenn leise, dann eine zufällige URL checken { random,zahl,1,%AnzahlvonTxtUrls% TempDownloadURL:=AppUrlTxt%zahl% URLDownloadToFile,%TempDownloadURL%,%A_WorkingDir%\Online verfügbare Version.txt ;Txt file mit den Update Informationen runterladen ;Txt File Auslesen. Wenn die Datei korrupt ist, dann wird error gespeichert. iniread,TempDownloadedVersion,%A_WorkingDir%\Online verfügbare Version.txt,Update Info,Version,error iniread,TempAppUpdateExe,%A_WorkingDir%\Online verfügbare Version.txt,Update Info,Download Path,error iniread,TempWebseiteÖffnen,%A_WorkingDir%\Online verfügbare Version.txt,Update Info,Open Site,error ;~ msgbox,%DownloadedVersion%,%AppUpdateExe% if TempDownloadedVersion<>error { ifinstring,TempDownloadedVersion,. { DownloadedVersion:=TempDownloadedVersion AppUpdateExe:=TempAppUpdateExe WebseiteÖffnen:=TempWebseiteÖffnen } } } SplashTextOff if DownloadedVersion=0 { if modus=laut ;Wenn leise, keine Meldung zeigen msgbox,0,Update Checker für %AppName%,Beim Download der Updateinformationen trat ein Fehler auf. exitapp } if DownloadedVersion<>error ;Prüfen, ob die heruntergeladene korrekt ist. { If(DownloadedVersion>AppGenaueVersion) ;Wenn Gedownloadete Version grösser als jetzige dann... { MsgBox, 68, Update Checker für %AppName%, Eine neue Version von %AppNameLang% ist verfügbar!`nMöchten Sie sie jetzt herunterladen?`n`nAktuelle Version:`tVerfügbare Version:`n%AppGenaueVersion% `t`t%DownloadedVersion% IfMsgBox,yes ;Nur wenn benutzer zustimmt { process,close,%AppDateiName%.exe ;Programm wird geschlossen. FileDelete,%A_WorkingDir%\Online verfügbare Version.txt ;Die Datei mit der Versionsnummer löschen, weil sie nicht mehr benötigt wird if AppUpdateExe<>error ;Wenn ein Download Link in der Textdatei vorhanden war. { splashtexton,300,70,Update Checker,Download der neuen Version... FileDelete,%A_WorkingDir%\%AppDateiName%_Installation.exe ;Alte Installationsdatei löschen (Falls vorhanden) URLDownloadToFile,%AppUpdateExe% ,%A_WorkingDir%\%AppDateiName% Installation.exe ;lade Installationsdatei runter SplashTextOff if errorlevel=0 ;Wenn alles glatt lief { Msgbox,0,Update Checker für %AppName%, Download erfolgreich `,Die neue Version wurde erfolgreich heruntergeladen. Installation wird gestartet... , 2 run,"%A_WorkingDir%\%AppDateiName% Installation.exe" ;Installation starten } else ;Wenn Download fehl schlägt { if WebseiteÖffnen<>error ;Wenn eine Webseite drin stand { Msgbox,0,Update Checker für %AppName%, Download schlug fehl. Stattdessen wird jetzt die Projektseite geöffnet. run, %WebseiteÖffnen% ;Webseite öffnen } else ;Wenn keine Seite drin steht, pech { Msgbox,0,Update Checker für %AppName%, Download schlug fehl. Vielleicht klappt es, wenn Sie es erneut versuchen. } } } else ;Wenn kein Download Link drin steht { if WebseiteÖffnen<>error ;Wenn stattdessen ein Webseiten Link drin steht { run, %WebseiteÖffnen% ;Webseite öffnen } else ;Wenn nix drin steht, pech { msgbox,0,Update Checker für %AppName%, In der Heruntergeladenen Update-Info steht nicht, wo sich die neue Version befindet. Download nicht möglich. } } } } Else ;Keine neuere Version verfügbar { if modus=laut ;Wenn leise, keine Meldung zeigen MsgBox, 0,Update Checker für %AppName%, Keine neue Version verfügbar.`nAktuelle Version: %AppGenaueVersion%`nVerfügbare Version: %DownloadedVersion% FileDelete,%A_WorkingDir%\Online verfügbare Version.txt ;Die Datei mit der Versionsnummer löschen, weil sie nicht mehr benötigt wird } } else ;txt defekt. { if modus=laut ;Wenn leise, keine Meldung zeigen msgbox,0,Update Checker für %AppName%,Es trat ein Fehler auf. Möglicherweise ist der im Programm gespeicherte Link zu den Update Informationen korrupt. Es könnte sein, dass dennoch eine neue Version verfügbar ist. } ExitApp