diff --git a/installer.nsi b/installer.nsi index 3480dc8..ba53801 100644 --- a/installer.nsi +++ b/installer.nsi @@ -5,14 +5,8 @@ !define MUI_ICON "kogusico.ico" !define MUI_UNICON "kogusico.ico" !define MUI_UNINST_ICON "kogusico.ico" - +!define MUI_UNINSTALLER ; active l’uninstaller !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 @@ -21,6 +15,23 @@ !define PRODUCT_VERSION "1.0.0" !define INSTALL_DIR "$PROGRAMFILES\\${PRODUCT_NAME}" +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +!define MUI_PRODUCT "${PRODUCT_NAME}" + +; Pages de l’installateur +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "license.txt" +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +; Pages de l’uninstaller +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH + +!insertmacro MUI_LANGUAGE "French" + OutFile "Kogus-${PRODUCT_VERSION}.exe" InstallDir "${INSTALL_DIR}" RequestExecutionLevel admin @@ -31,20 +42,21 @@ ShowInstDetails show ;-------------------------------- Section "Install" - ; 1. Répertoire racine + ; 1. Créer le dossier d’installation et copier l’icône 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 "sdk_relay.conf" File "run.ps1" - ; 3. Copier le dossier bitcoin + ; 3. Copier bitcoin CreateDirectory "$INSTDIR\\bitcoin" SetOutPath "$INSTDIR\\bitcoin" File /r "bitcoin\\*.*" - ; 4. Copier le dossier blindbit + ; 4. Copier blindbit CreateDirectory "$INSTDIR\\blindbit" SetOutPath "$INSTDIR\\blindbit" File /r "blindbit\\*.*" @@ -52,13 +64,29 @@ Section "Install" ; 5. Créer dossier de logs CreateDirectory "$INSTDIR\\logs" - ; 6. Raccourci dans le menu Démarrer + ; 6. Raccourci Menu Démarrer pour lancer run.ps1 CreateDirectory "$SMPROGRAMS\\${PRODUCT_NAME}" 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 d’installation/stack et journaliser - ExecWait 'cmd /c ""$SYSDIR\\WindowsPowerShell\\v1.0\\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File "$INSTDIR\\run.ps1" > "$INSTDIR\\logs\\install.log" 2>&1"' + ; 7. Lancement initial (install Docker si besoin) + 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 l’uninstaller + WriteUninstaller "$INSTDIR\\Uninstall.exe" SectionEnd @@ -67,14 +95,18 @@ SectionEnd ;-------------------------------- 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"' - ; 2. Supprimer les fichiers et dossiers + ; Supprimer tous les fichiers et dossiers 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" - RMDir "$SMPROGRAMS\\${PRODUCT_NAME}" + RMDir "$SMPROGRAMS\\${PRODUCT_NAME}" + + ; Supprimer le raccourci de démarrage et l’entrée registre + Delete "$SMSTARTUP\\Relancer Kogus Stack.lnk" + DeleteRegValue HKCU "Software\\Microsoft\\Windows\\CurrentVersion\\Run" "DockerDesktop" SectionEnd