v0.4.7 — WebView2 Runtime im Installer eingebettet

- WebView2 Bootstrapper wird mitgeliefert
- Automatische Prüfung ob WebView2 installiert ist
- Silent Install wenn nicht vorhanden
- Version + Publisher in Registry
This commit is contained in:
clawd
2026-02-20 13:30:50 +00:00
parent 80cb152b73
commit 3f228540a8
2 changed files with 32 additions and 2 deletions

Binary file not shown.

View File

@@ -12,7 +12,7 @@ RequestExecutionLevel admin
!define MUI_UNICON "icon.ico"
!define MUI_ABORTWARNING
!define MUI_WELCOMEPAGE_TITLE "Speiseplan Setup"
!define MUI_WELCOMEPAGE_TEXT "Dieses Programm installiert den Kita-Wochenspeiseplan auf Ihrem Computer.$\r$\n$\r$\nKlicken Sie auf Weiter, um fortzufahren."
!define MUI_WELCOMEPAGE_TEXT "Dieses Programm installiert den Kita-Wochenspeiseplan auf Ihrem Computer.$\r$\n$\r$\nBenötigte Komponenten (WebView2) werden automatisch mitinstalliert.$\r$\n$\r$\nKlicken Sie auf Weiter, um fortzufahren."
; Seiten
!insertmacro MUI_PAGE_WELCOME
@@ -28,6 +28,30 @@ RequestExecutionLevel admin
; Sprache
!insertmacro MUI_LANGUAGE "German"
; WebView2 Check Funktion
Function CheckWebView2
; Prüfe ob WebView2 bereits installiert ist
ReadRegStr $0 HKLM "SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
${If} $0 == ""
ReadRegStr $0 HKCU "SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
${EndIf}
${If} $0 == ""
; WebView2 nicht gefunden — installieren
DetailPrint "WebView2 Runtime wird installiert..."
SetOutPath "$TEMP"
File "MicrosoftEdgeWebview2Setup.exe"
ExecWait '"$TEMP\MicrosoftEdgeWebview2Setup.exe" /silent /install' $1
${If} $1 != 0
MessageBox MB_OK|MB_ICONEXCLAMATION "WebView2 konnte nicht installiert werden (Fehler: $1).$\r$\nBitte installieren Sie es manuell von https://developer.microsoft.com/microsoft-edge/webview2/"
${Else}
DetailPrint "WebView2 Runtime erfolgreich installiert."
${EndIf}
Delete "$TEMP\MicrosoftEdgeWebview2Setup.exe"
${Else}
DetailPrint "WebView2 Runtime bereits installiert (Version: $0)."
${EndIf}
FunctionEnd
; Hauptinstallation
Section "Speiseplan (erforderlich)" SecMain
SectionIn RO
@@ -35,9 +59,15 @@ Section "Speiseplan (erforderlich)" SecMain
File "..\..\build\bin\speiseplan.exe"
File "icon.ico"
; WebView2 prüfen und ggf. installieren
Call CheckWebView2
; Registry
WriteRegStr HKLM "Software\Speiseplan" "Install_Dir" "$INSTDIR"
WriteRegStr HKLM "Software\Speiseplan" "Version" "0.4.7"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" "DisplayName" "Speiseplan"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" "DisplayVersion" "0.4.7"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" "Publisher" "Kita Ortrand"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" "DisplayIcon" "$INSTDIR\icon.ico"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" "NoModify" 1
@@ -57,7 +87,7 @@ SectionEnd
; Komponentenbeschreibungen
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} "Das Speiseplan-Programm (erforderlich)."
!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} "Das Speiseplan-Programm (erforderlich). WebView2 wird automatisch mitinstalliert."
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "Erstellt eine Verknüpfung auf dem Desktop."
!insertmacro MUI_FUNCTION_DESCRIPTION_END