Update installer

This commit is contained in:
omaroughriss 2025-07-04 17:03:21 +02:00
parent 38671ea26b
commit 34a05b81cf

View File

@ -5,14 +5,8 @@
!define MUI_ICON "kogusico.ico" !define MUI_ICON "kogusico.ico"
!define MUI_UNICON "kogusico.ico" !define MUI_UNICON "kogusico.ico"
!define MUI_UNINST_ICON "kogusico.ico" !define MUI_UNINST_ICON "kogusico.ico"
!define MUI_UNINSTALLER ; active luninstaller
!include "MUI2.nsh" !include "MUI2.nsh"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.txt"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "French"
;-------------------------------- ;--------------------------------
; Métadonnées produit ; Métadonnées produit
@ -21,6 +15,23 @@
!define PRODUCT_VERSION "1.0.0" !define PRODUCT_VERSION "1.0.0"
!define INSTALL_DIR "$PROGRAMFILES\\${PRODUCT_NAME}" !define INSTALL_DIR "$PROGRAMFILES\\${PRODUCT_NAME}"
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
!define MUI_PRODUCT "${PRODUCT_NAME}"
; Pages de linstallateur
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.txt"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
; Pages de luninstaller
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
!insertmacro MUI_LANGUAGE "French"
OutFile "Kogus-${PRODUCT_VERSION}.exe" OutFile "Kogus-${PRODUCT_VERSION}.exe"
InstallDir "${INSTALL_DIR}" InstallDir "${INSTALL_DIR}"
RequestExecutionLevel admin RequestExecutionLevel admin
@ -31,20 +42,21 @@ ShowInstDetails show
;-------------------------------- ;--------------------------------
Section "Install" Section "Install"
; 1. Répertoire racine ; 1. Créer le dossier dinstallation et copier licône
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
File "kogusico.ico"
; 2. Copier docker-compose.yml, config et script ; 2. Copier docker-compose, config et script
File "docker-compose.yml" File "docker-compose.yml"
File "sdk_relay.conf" File "sdk_relay.conf"
File "run.ps1" File "run.ps1"
; 3. Copier le dossier bitcoin ; 3. Copier bitcoin
CreateDirectory "$INSTDIR\\bitcoin" CreateDirectory "$INSTDIR\\bitcoin"
SetOutPath "$INSTDIR\\bitcoin" SetOutPath "$INSTDIR\\bitcoin"
File /r "bitcoin\\*.*" File /r "bitcoin\\*.*"
; 4. Copier le dossier blindbit ; 4. Copier blindbit
CreateDirectory "$INSTDIR\\blindbit" CreateDirectory "$INSTDIR\\blindbit"
SetOutPath "$INSTDIR\\blindbit" SetOutPath "$INSTDIR\\blindbit"
File /r "blindbit\\*.*" File /r "blindbit\\*.*"
@ -52,13 +64,29 @@ Section "Install"
; 5. Créer dossier de logs ; 5. Créer dossier de logs
CreateDirectory "$INSTDIR\\logs" CreateDirectory "$INSTDIR\\logs"
; 6. Raccourci dans le menu Démarrer ; 6. Raccourci Menu Démarrer pour lancer run.ps1
CreateDirectory "$SMPROGRAMS\\${PRODUCT_NAME}" CreateDirectory "$SMPROGRAMS\\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\\${PRODUCT_NAME}\\Lancer Kogus.lnk" \ CreateShortCut "$SMPROGRAMS\\${PRODUCT_NAME}\\Lancer Kogus.lnk" \
"$INSTDIR\\run.ps1" "" "$INSTDIR\\run.ps1" 0 "$INSTDIR\\run.ps1" "" \
"$INSTDIR\\kogusico.ico" 0
; 7. Exécuter le script dinstallation/stack et journaliser ; 7. Lancement initial (install Docker si besoin)
ExecWait 'cmd /c ""$SYSDIR\\WindowsPowerShell\\v1.0\\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File "$INSTDIR\\run.ps1" > "$INSTDIR\\logs\\install.log" 2>&1"' ExecWait '"$SYSDIR\\WindowsPowerShell\\v1.0\\powershell.exe" -WindowStyle Hidden -NoProfile -ExecutionPolicy Bypass -File "$INSTDIR\\run.ps1" > "$INSTDIR\\logs\\install.log" 2>&1'
; 8. Auto-démarrage Docker Desktop au login utilisateur
WriteRegStr HKCU "Software\\Microsoft\\Windows\\CurrentVersion\\Run" \
"DockerDesktop" \
'"$PROGRAMFILES\\Docker\\Docker\\Docker Desktop.exe" --autostart'
; 9. Raccourci dans le dossier Démarrage pour relancer la stack Kogus
CreateDirectory "$SMSTARTUP"
CreateShortCut "$SMSTARTUP\\Relancer Kogus Stack.lnk" \
"$SYSDIR\\WindowsPowerShell\\v1.0\\powershell.exe" \
'-NoProfile -ExecutionPolicy Bypass -File "$INSTDIR\\run.ps1"' \
"$INSTDIR\\kogusico.ico" 0
; 10. Générer luninstaller
WriteUninstaller "$INSTDIR\\Uninstall.exe"
SectionEnd SectionEnd
@ -67,14 +95,18 @@ SectionEnd
;-------------------------------- ;--------------------------------
Section "Uninstall" Section "Uninstall"
; 1. Arrêter la stack Docker ; Arrêter la stack Docker
nsExec::ExecToLog '"$SYSDIR\\WindowsPowerShell\\v1.0\\powershell.exe" -NoProfile -Command "docker compose -f `"$INSTDIR\\docker-compose.yml`" down"' nsExec::ExecToLog '"$SYSDIR\\WindowsPowerShell\\v1.0\\powershell.exe" -NoProfile -Command "docker compose -f `"$INSTDIR\\docker-compose.yml`" down"'
; 2. Supprimer les fichiers et dossiers ; Supprimer tous les fichiers et dossiers
RMDir /r "$INSTDIR" RMDir /r "$INSTDIR"
; 3. Supprimer le raccourci et le dossier Menu Démarrer ; Supprimer le raccourci Menu Démarrer
Delete "$SMPROGRAMS\\${PRODUCT_NAME}\\Lancer Kogus.lnk" Delete "$SMPROGRAMS\\${PRODUCT_NAME}\\Lancer Kogus.lnk"
RMDir "$SMPROGRAMS\\${PRODUCT_NAME}" RMDir "$SMPROGRAMS\\${PRODUCT_NAME}"
; Supprimer le raccourci de démarrage et lentrée registre
Delete "$SMSTARTUP\\Relancer Kogus Stack.lnk"
DeleteRegValue HKCU "Software\\Microsoft\\Windows\\CurrentVersion\\Run" "DockerDesktop"
SectionEnd SectionEnd