diff --git a/build/appicon.png b/build/appicon.png new file mode 100644 index 0000000..8b83d88 Binary files /dev/null and b/build/appicon.png differ diff --git a/build/windows/icon.ico b/build/windows/icon.ico new file mode 100644 index 0000000..ff3ad91 Binary files /dev/null and b/build/windows/icon.ico differ diff --git a/build/windows/installer.nsi b/build/windows/installer.nsi new file mode 100644 index 0000000..66ef7c1 --- /dev/null +++ b/build/windows/installer.nsi @@ -0,0 +1,83 @@ +!include "MUI2.nsh" + +; Allgemein +Name "Speiseplan" +OutFile "Speiseplan-Setup.exe" +InstallDir "$PROGRAMFILES\Speiseplan" +InstallDirRegKey HKLM "Software\Speiseplan" "Install_Dir" +RequestExecutionLevel admin + +; UI +!define MUI_ICON "icon.ico" +!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." + +; Seiten +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_COMPONENTS +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +; Deinstallation +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +; Sprache +!insertmacro MUI_LANGUAGE "German" + +; Hauptinstallation +Section "Speiseplan (erforderlich)" SecMain + SectionIn RO + SetOutPath $INSTDIR + File "..\..\build\bin\speiseplan.exe" + File "icon.ico" + + ; Registry + WriteRegStr HKLM "Software\Speiseplan" "Install_Dir" "$INSTDIR" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" "DisplayName" "Speiseplan" + 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 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" "NoRepair" 1 + WriteUninstaller "$INSTDIR\uninstall.exe" + + ; Startmenü + CreateDirectory "$SMPROGRAMS\Speiseplan" + CreateShortCut "$SMPROGRAMS\Speiseplan\Speiseplan.lnk" "$INSTDIR\speiseplan.exe" "" "$INSTDIR\icon.ico" + CreateShortCut "$SMPROGRAMS\Speiseplan\Deinstallieren.lnk" "$INSTDIR\uninstall.exe" +SectionEnd + +; Desktop-Verknüpfung (optional) +Section "Desktop-Verknüpfung" SecDesktop + CreateShortCut "$DESKTOP\Speiseplan.lnk" "$INSTDIR\speiseplan.exe" "" "$INSTDIR\icon.ico" +SectionEnd + +; Komponentenbeschreibungen +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SecMain} "Das Speiseplan-Programm (erforderlich)." + !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "Erstellt eine Verknüpfung auf dem Desktop." +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +; Deinstallation +Section "Uninstall" + Delete "$INSTDIR\speiseplan.exe" + Delete "$INSTDIR\icon.ico" + Delete "$INSTDIR\uninstall.exe" + RMDir "$INSTDIR" + + Delete "$SMPROGRAMS\Speiseplan\*.*" + RMDir "$SMPROGRAMS\Speiseplan" + Delete "$DESKTOP\Speiseplan.lnk" + + ; Datenbank löschen + MessageBox MB_YESNO "Sollen die gespeicherten Daten (Speisepläne, Produkte) ebenfalls gelöscht werden?" IDYES deletedata IDNO skipdata + deletedata: + Delete "$PROFILE\speiseplan.db" + skipdata: + + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" + DeleteRegKey HKLM "Software\Speiseplan" +SectionEnd