╔══════════════════════════════════════════════════════════════════════╗
║                  DOCUMENTACIÓN PARA CREAR INSTALADOR                  ║
║                     Factux Costa Rica - ElectricPos                   ║
║                    Java 8 con JRE Embebido para Windows               ║
╚══════════════════════════════════════════════════════════════════════╝

📁 ARCHIVOS EN ESTA CARPETA:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📖 DOCUMENTACIÓN:
  • README.txt                     ← Estás aquí (índice principal)
  • INSTRUCCIONES_RAPIDAS.txt      ← Guía rápida (5 pasos esenciales)
  • RECURSOS.md                    ← Links y recursos útiles

📘 GUÍA COMPLETA:
  • GUIA_CREAR_INSTALADOR.md       ← Guía detallada paso a paso
                                     (en la raíz del proyecto)

⚙️ ARCHIVOS DE CONFIGURACIÓN:
  • generator.iss                  ← Inno Setup (versión antigua)
  • generator_updated.iss          ← Inno Setup (ACTUALIZADO - USAR ESTE)
  • generator_1.iss                ← Respaldo
  • launch4jConfig.xml             ← Launch4j (versión antigua)
  • launch4jConfig_updated.xml     ← Launch4j (ACTUALIZADO - USAR ESTE)

🚀 SCRIPTS DE AUTOMATIZACIÓN:
  • PrepararRelease.bat            ← Script automático (RECOMENDADO)
  • FactuxLauncher.bat             ← Launcher original
  • FactuxLauncher_mejorado.bat    ← Launcher mejorado (USAR ESTE)
  • build_ejecutable               ← Instrucciones originales

🔧 EJECUTABLES:
  • FactuxLauncher.exe             ← Ejecutable generado por Launch4j


═══════════════════════════════════════════════════════════════════════
  ¿CUÁL ARCHIVO USAR? - GUÍA DE INICIO RÁPIDO
═══════════════════════════════════════════════════════════════════════

👉 SI NUNCA HAS CREADO UN INSTALADOR:
   1. Lee primero: INSTRUCCIONES_RAPIDAS.txt
   2. Luego consulta: GUIA_CREAR_INSTALADOR.md
   3. Ejecuta: PrepararRelease.bat

👉 SI YA SABES LO BÁSICO:
   1. Ejecuta: PrepararRelease.bat
   2. Descarga JRE 8 y cópialo a C:\factux_release\jre\
   3. Abre Inno Setup y compila: generator_updated.iss

👉 SI ERES EXPERTO:
   - Usa generator_updated.iss + launch4jConfig_updated.xml
   - Personaliza según tus necesidades


═══════════════════════════════════════════════════════════════════════
  PROCESO SIMPLIFICADO (3 ARCHIVOS PRINCIPALES)
═══════════════════════════════════════════════════════════════════════

   ┌─────────────────────────────────────────────────────────┐
   │  1️⃣  PrepararRelease.bat                                │
   │      → Copia archivos del proyecto a C:\factux_release\ │
   │      → Estructura todo automáticamente                   │
   └─────────────────────────────────────────────────────────┘
                            ↓
   ┌─────────────────────────────────────────────────────────┐
   │  2️⃣  launch4jConfig_updated.xml (OPCIONAL)             │
   │      → Convierte el JAR en un .exe profesional          │
   │      → Usa con Launch4j                                  │
   └─────────────────────────────────────────────────────────┘
                            ↓
   ┌─────────────────────────────────────────────────────────┐
   │  3️⃣  generator_updated.iss (NECESARIO)                 │
   │      → Crea el instalador final .exe                     │
   │      → Usa con Inno Setup                                │
   │      → Resultado: FactuxSetup_v4.4.exe                   │
   └─────────────────────────────────────────────────────────┘


═══════════════════════════════════════════════════════════════════════
  ¿QUÉ NECESITO DESCARGAR?
═══════════════════════════════════════════════════════════════════════

OBLIGATORIO:
  ✓ Inno Setup
    https://jrsoftware.org/isdl.php
    
  ✓ Java 8 JRE (Adoptium recomendado)
    https://adoptium.net/temurin/releases/?version=8
    → Descargar: Windows x64, Package Type: JRE

OPCIONAL (para crear el .exe):
  □ Launch4j
    https://launch4j.sourceforge.net/


═══════════════════════════════════════════════════════════════════════
  DIAGRAMA DEL PROCESO COMPLETO
═══════════════════════════════════════════════════════════════════════

    ┌──────────────┐
    │  Proyecto    │
    │  NetBeans    │
    └──────┬───────┘
           │ F11 (Clean & Build)
           ↓
    ┌──────────────┐
    │ dist\        │
    │ ElectricPos. │
    │ jar + libs   │
    └──────┬───────┘
           │ PrepararRelease.bat
           ↓
    ┌──────────────────┐         ┌─────────────┐
    │ C:\factux_release│         │  JRE 8      │
    │ • JAR            │ ←───────┤  (descargar)│
    │ • Libs           │         └─────────────┘
    │ • Launcher.bat   │
    │ • JRE ←──────────┘
    └──────┬──────────┘
           │
           ├─→ [OPCIONAL] Launch4j → FactuxLauncher.exe
           │
           ↓
    ┌──────────────┐
    │ Inno Setup   │
    │ generator_   │
    │ updated.iss  │
    └──────┬───────┘
           │ Compile (F9)
           ↓
    ┌─────────────────────┐
    │ FactuxSetup_v4.4.exe│  ← ¡INSTALADOR LISTO!
    └─────────────────────┘


═══════════════════════════════════════════════════════════════════════
  DIFERENCIAS ENTRE ARCHIVOS NUEVOS Y ANTIGUOS
═══════════════════════════════════════════════════════════════════════

ARCHIVOS ANTIGUOS (originales del proyecto):
  • generator.iss            → Rutas hardcodeadas antiguas
  • launch4jConfig.xml       → Configuración básica
  • FactuxLauncher.bat       → Script simple

ARCHIVOS NUEVOS (actualizados y mejorados):
  • generator_updated.iss    → ✅ Rutas configurables
                               ✅ Mejor compresión
                               ✅ Más opciones
                               ✅ Mensajes personalizados
                               
  • launch4jConfig_updated.xml → ✅ Opciones JVM configuradas
                                 ✅ Mejor manejo de errores
                                 ✅ Instancia única
                                 ✅ Info de versión completa
                                 
  • FactuxLauncher_mejorado.bat → ✅ Validaciones agregadas
                                   ✅ Opciones JVM optimizadas
                                   ✅ Mejor manejo de errores
                                   ✅ Modo sin consola


═══════════════════════════════════════════════════════════════════════
  ESTRUCTURA DE ARCHIVOS GENERADOS
═══════════════════════════════════════════════════════════════════════

DESPUÉS DE EJECUTAR PrepararRelease.bat:

C:\factux_release\
├── 📄 ElectricPos.jar                    [Aplicación principal]
├── 📁 lib\                               [Todas las librerías]
│   ├── controlsfx-8.40.14.jar
│   ├── jasperreports-6.3.0.jar
│   ├── jfoenix-9.0.6.jar
│   └── ... (más librerías)
├── 📁 jre\                               [JRE 8 - COPIAR MANUALMENTE]
│   ├── 📁 bin\
│   │   ├── java.exe
│   │   └── javaw.exe
│   ├── 📁 lib\
│   └── ...
├── 📄 FactuxLauncher.bat                 [Launcher en .bat]
├── 📄 FactuxLauncher.exe                 [Launcher en .exe - opcional]
├── 🖼️ icono.ico                          [Icono de la aplicación]
├── ⚙️ generator.iss                      [Config Inno Setup]
└── 📁 installer\                         [Aquí se genera el instalador]
    └── 📦 FactuxSetup_v4.4.exe           [INSTALADOR FINAL]


═══════════════════════════════════════════════════════════════════════
  RESULTADO FINAL
═══════════════════════════════════════════════════════════════════════

📦 Archivo de instalación:
   FactuxSetup_v4.4.exe

📏 Tamaño aproximado:
   60-110 MB (incluye Java 8 completo)

🎯 Qué hace el instalador:
   ✓ Instala la aplicación en AppData del usuario
   ✓ Incluye Java 8 embebido (no requiere instalación previa)
   ✓ Crea acceso directo en escritorio
   ✓ Crea acceso directo en menú inicio
   ✓ Permite desinstalar desde Panel de Control
   ✓ No requiere permisos de administrador

💻 Requisitos para el usuario final:
   • Windows 7 / 8 / 10 / 11
   • 64-bit (o 32-bit si usaste JRE 32-bit)
   • ~200 MB de espacio en disco
   • NO necesita Java instalado previamente


═══════════════════════════════════════════════════════════════════════
  PREGUNTAS FRECUENTES
═══════════════════════════════════════════════════════════════════════

❓ ¿Necesito Launch4j obligatoriamente?
   No, es opcional. Puedes usar solo el archivo .bat para lanzar la
   aplicación. El .exe solo da mejor apariencia y permite validaciones.

❓ ¿Puedo usar otro instalador en lugar de Inno Setup?
   Sí, puedes usar NSIS, Advanced Installer, WiX, etc. Pero Inno Setup
   es el más fácil de usar y es completamente gratuito.

❓ ¿El instalador funciona en todas las versiones de Windows?
   Sí, funciona en Windows 7, 8, 10 y 11 (tanto 32 como 64 bits).

❓ ¿Necesito pagar licencia de Java?
   No si usas Adoptium (Temurin). Oracle JRE tiene restricciones para
   uso comercial, por eso recomendamos Adoptium.

❓ ¿Cuánto pesa el instalador?
   Entre 60-110 MB aprox. La mayor parte es Java 8 JRE (~50 MB).

❓ ¿Puedo actualizar solo mi aplicación sin cambiar el JRE?
   Sí, pero tendrías que crear un instalador de actualización separado
   que solo reemplace el .jar y las libs.

❓ ¿Cómo actualizo la versión?
   1. Edita el número de versión en generator_updated.iss
   2. Recompila el proyecto
   3. Ejecuta PrepararRelease.bat
   4. Regenera el instalador


═══════════════════════════════════════════════════════════════════════
  SOPORTE Y AYUDA
═══════════════════════════════════════════════════════════════════════

📖 Documentación completa:
   Ver: GUIA_CREAR_INSTALADOR.md

🔗 Enlaces útiles:
   Ver: RECURSOS.md

🐛 Problemas comunes:
   Ver: GUIA_CREAR_INSTALADOR.md → Sección "Solución de Problemas"

💬 Contacto:
   Space Software Costa Rica
   www.factuxcr.com


═══════════════════════════════════════════════════════════════════════

              ¡LISTO PARA COMENZAR!
              
   1. Abre: INSTRUCCIONES_RAPIDAS.txt
   2. Ejecuta: PrepararRelease.bat
   3. Sigue los pasos del script
   
═══════════════════════════════════════════════════════════════════════

              Factux Costa Rica © 2025
              Space Software Costa Rica
              
═══════════════════════════════════════════════════════════════════════


