@echo off
setlocal EnableExtensions
chcp 65001 >nul 2>&1
title NUON.STATUS installieren

rem ---------------------------------------------------------------------------
rem  NUON.STATUS - Installation fuer PowerPoint (Windows Desktop)
rem
rem  Was dieses Skript tut - vollstaendig, es gibt nichts Verstecktes:
rem   1. Es legt den Ordner %LOCALAPPDATA%\NUON.STATUS an.
rem   2. Es laedt die Manifestdatei von https://nuon-status.pages.dev dorthin.
rem   3. Es setzt EINEN Registry-Wert unter HKEY_CURRENT_USER (nur dein Konto):
rem        HKCU\Software\Microsoft\Office\16.0\WEF\Developer
rem      Damit weiss PowerPoint, wo das Manifest liegt.
rem
rem  Es sind KEINE Administratorrechte notwendig. Es wird nichts ausserhalb
rem  deines Benutzerprofils geaendert. Deinstallation: das Skript
rem  NUON.STATUS-entfernen.cmd von derselben Seite ausfuehren.
rem ---------------------------------------------------------------------------

set "ADDIN_ID=f3c4f592-1904-4753-9005-3f2d317dde07"
set "BASE_URL=https://nuon-status.pages.dev"
set "TARGET_DIR=%LOCALAPPDATA%\NUON.STATUS"
set "MANIFEST=%TARGET_DIR%\manifest.xml"
set "REG_KEY=HKCU\Software\Microsoft\Office\16.0\WEF\Developer"

echo.
echo ===============================================
echo   NUON.STATUS - Installation fuer PowerPoint
echo ===============================================
echo.

rem --- Laeuft PowerPoint noch? -----------------------------------------------
tasklist /FI "IMAGENAME eq POWERPNT.EXE" 2>nul | find /I "POWERPNT.EXE" >nul
if not errorlevel 1 (
  echo   PowerPoint laeuft noch.
  echo   Bitte alle PowerPoint-Fenster schliessen und dieses Skript erneut starten.
  echo   Grund: PowerPoint liest die Einstellung nur beim Programmstart.
  echo.
  pause
  exit /b 1
)

rem --- Ordner anlegen --------------------------------------------------------
if not exist "%TARGET_DIR%" (
  mkdir "%TARGET_DIR%" 2>nul
  if errorlevel 1 (
    echo   FEHLER: Ordner konnte nicht angelegt werden:
    echo   %TARGET_DIR%
    echo.
    pause
    exit /b 1
  )
)
echo   [1/3] Ordner bereit:  %TARGET_DIR%

rem --- Manifest herunterladen ------------------------------------------------
where curl.exe >nul 2>&1
if errorlevel 1 (
  echo   FEHLER: curl.exe wurde nicht gefunden.
  echo   Bitte die Datei manuell herunterladen von
  echo   %BASE_URL%/manifest.xml
  echo   und nach %MANIFEST% speichern.
  echo.
  pause
  exit /b 1
)

curl.exe -fsSL -o "%MANIFEST%" "%BASE_URL%/manifest.xml"
if errorlevel 1 (
  echo   FEHLER: Download fehlgeschlagen.
  echo   Ist eine Internetverbindung vorhanden? Blockiert eine Firewall
  echo   %BASE_URL% ?
  echo.
  pause
  exit /b 1
)
if not exist "%MANIFEST%" (
  echo   FEHLER: Die Manifestdatei ist nach dem Download nicht vorhanden.
  echo.
  pause
  exit /b 1
)
echo   [2/3] Manifest geladen

rem --- Registry-Wert setzen (nur HKEY_CURRENT_USER) --------------------------
reg add "%REG_KEY%" /v "%ADDIN_ID%" /t REG_SZ /d "%MANIFEST%" /f >nul
if errorlevel 1 (
  echo   FEHLER: Der Registry-Wert konnte nicht gesetzt werden.
  echo   Moeglicherweise verhindert eine Unternehmensrichtlinie das.
  echo   In diesem Fall bitte an die IT wenden.
  echo.
  pause
  exit /b 1
)
echo   [3/4] In PowerPoint registriert

rem --- Vorlage mitliefern ----------------------------------------------------
rem  Wichtig: Ein so bereitgestelltes Add-in wird ins DOKUMENT eingebettet, nicht
rem  in PowerPoint. Ohne gespeicherte Einbettung ist es nach dem Schliessen weg.
rem  Die Vorlage bringt die Einbettung mit.
set "VORLAGE=%TARGET_DIR%\NUON.STATUS-Vorlage.pptx"
curl.exe -fsSL -o "%VORLAGE%" "%BASE_URL%/download/NUON.STATUS-Vorlage.pptx"
if errorlevel 1 (
  echo   [4/4] Vorlage konnte nicht geladen werden - nicht kritisch.
  set "VORLAGE="
) else (
  echo   [4/4] Vorlage abgelegt
)

echo.
echo ===============================================
echo   Fertig.
echo ===============================================
echo.
echo   So geht es weiter:
echo.
echo   1. PowerPoint starten.
echo   2. Registerkarte  Start  -^>  Add-Ins  -^>  Erweitert
echo   3. NUON.STATUS auswaehlen und  Hinzufuegen  klicken.
echo.
echo   WICHTIG - damit es nicht wieder verschwindet:
echo.
echo   Das Add-in wird in die jeweilige Praesentation eingebettet, nicht in
echo   PowerPoint. Schliesst man eine Praesentation ohne zu speichern, ist es
echo   beim naechsten Start wieder weg. Zwei Wege dagegen:
echo.
echo   A) Die mitgelieferte Vorlage oeffnen und ueber  Datei - Speichern unter
echo      als eigenes Deck sichern. Die Einbettung bleibt in der Datei.
if defined VORLAGE echo      %VORLAGE%
echo.
echo   B) Besser dauerhaft: Das Add-in einmal in die NUON-Standardvorlage
echo      einfuegen und diese speichern. Dann hat jedes neue Deck es dabei.
echo.
pause
endlocal
