> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# Instalación en Windows

> Instala y desinstala el Agente Fire en equipos con Windows 10/11 para imprimir desde el POS.

El Agente Fire es un agente local que permite que cualquier navegador (FIRE POS, XMART, etc.) imprima en impresoras térmicas de punto de venta a través de WebSocket. Una vez instalado, se ejecuta en segundo plano y arranca automáticamente con Windows.

Instálalo una vez por cada equipo Windows que tenga una impresora conectada.

## Requisitos previos

| Requisito         | Detalle                                                                               |
| ----------------- | ------------------------------------------------------------------------------------- |
| Sistema operativo | Windows 10 o Windows 11, **64 bits**                                                  |
| Permisos          | Cuenta con derechos de **Administrador** (solo durante la instalación/desinstalación) |
| PowerShell        | 5.1 o superior (incluido en Windows 10/11) — solo para verificar el agente            |
| Node.js           | **No** es necesario. El agente se distribuye como un `.exe` independiente             |
| Impresora         | El controlador (driver) de la impresora térmica debe estar ya instalado en Windows    |

<Note>
  El agente escucha únicamente en `127.0.0.1` (localhost), por lo que **no requiere abrir puertos ni crear reglas en el Firewall de Windows**.
</Note>

## Archivos que necesitas

Según la tarea, necesitarás uno de estos archivos:

| Archivo                  | Para qué sirve                                                                                 |
| ------------------------ | ---------------------------------------------------------------------------------------------- |
| `fireAgentSetup.exe`     | **Instalador gráfico.** Instala el agente con un asistente.                                    |
| `fireAgentUninstall.exe` | **Desinstalador independiente.** Elimina el agente aunque ya no tengas el instalador original. |

<Card title="Descargar Agente Fire (Windows)" icon="download" href="https://drive.google.com/uc?export=download&id=1OiqSbD5flcsc6cV2ZjxxkHy-cmxwH5d1">
  Instalador de Windows para impresión térmica local.
</Card>

## Instalación paso a paso

<Steps>
  <Step title="Ejecuta el instalador como administrador">
    1. Localiza `fireAgentSetup.exe`.
    2. Haz **clic derecho** y selecciona **Ejecutar como administrador**.
    3. Si aparece el aviso de **Control de cuentas de usuario (UAC)**, haz clic en **Sí**.

    <Tip>
      Si Windows SmartScreen muestra el aviso "Windows protegió su PC", haz clic en **Más información → Ejecutar de todas formas**.
    </Tip>
  </Step>

  <Step title="Pantalla de bienvenida">
    El asistente muestra el mensaje de bienvenida de **Fire Agent 1.1.0**. Haz clic en **Next** (Siguiente).

    <Frame>
      <img src="https://mintcdn.com/firepos/LYYmInDIqI15OPj4/images/manuals/fire-agent/installer-01-welcome.png?fit=max&auto=format&n=LYYmInDIqI15OPj4&q=85&s=4df64f3e08f6e2a43291b4bbf3f7c8e0" alt="Asistente de instalación del Agente Fire — pantalla de bienvenida" width="623" height="485" data-path="images/manuals/fire-agent/installer-01-welcome.png" />
    </Frame>
  </Step>

  <Step title="Carpeta de instalación">
    Confirma la carpeta de instalación (por defecto `C:\Program Files\FireAgent`). Se recomienda dejar la ruta predeterminada. Haz clic en **Install** (Instalar).

    <Frame>
      <img src="https://mintcdn.com/firepos/LYYmInDIqI15OPj4/images/manuals/fire-agent/installer-02-location.png?fit=max&auto=format&n=LYYmInDIqI15OPj4&q=85&s=e3b60db58b30fca3b3cd4589c7e9b605" alt="Asistente de instalación del Agente Fire — carpeta de instalación" width="623" height="485" data-path="images/manuals/fire-agent/installer-02-location.png" />
    </Frame>
  </Step>

  <Step title="Instalación automática">
    El asistente realiza, sin intervención del usuario:

    1. Detiene cualquier instancia previa del agente.
    2. Copia `fire-agent.exe` a la carpeta de instalación.
    3. Guarda el token `FIRE_AGENT_TOKEN` como **variable de entorno del sistema**.
    4. Registra el **inicio automático** con Windows para todos los usuarios.
    5. Registra la aplicación en **Agregar o quitar programas**.
    6. Crea el desinstalador dentro de la carpeta de instalación.

    <Frame>
      <img src="https://mintcdn.com/firepos/LYYmInDIqI15OPj4/images/manuals/fire-agent/installer-03-installing.png?fit=max&auto=format&n=LYYmInDIqI15OPj4&q=85&s=b68b24d1036e3f1801a5d1ba47904ec1" alt="Asistente de instalación del Agente Fire — barra de progreso" width="623" height="485" data-path="images/manuals/fire-agent/installer-03-installing.png" />
    </Frame>

    Espera a que la barra de progreso termine y haz clic en **Next** (Siguiente).
  </Step>

  <Step title="Finalizar">
    En la última pantalla aparece la confirmación de la instalación y del **token configurado**. Para iniciar el agente de inmediato, deja marcada la casilla **Start Fire Agent now** y haz clic en **Finish** (Finalizar).

    <Frame>
      <img src="https://mintcdn.com/firepos/LYYmInDIqI15OPj4/images/manuals/fire-agent/installer-04-finish.png?fit=max&auto=format&n=LYYmInDIqI15OPj4&q=85&s=8c92b448a4c3e78a475851ad504e7ade" alt="Asistente de instalación del Agente Fire — instalación completada" width="623" height="485" data-path="images/manuals/fire-agent/installer-04-finish.png" />
    </Frame>
  </Step>

  <Step title="Primer arranque (certificado SSL)">
    La primera vez que el agente se inicia, genera un **certificado SSL autofirmado** en `%APPDATA%\FireAgent\ssl\` (en JavaScript puro, sin PowerShell) y lo instala como confiable en el almacén del usuario actual con `certutil.exe`. Esto permite que las páginas HTTPS se conecten a `wss://localhost:9101` sin advertencias, sin pedir permisos de administrador y de forma compatible con equipos con GPO.
  </Step>
</Steps>

<Check>
  El Agente Fire queda instalado y arranca automáticamente cada vez que un usuario inicia sesión en Windows. Aparece como un icono en la bandeja del sistema (junto al reloj).
</Check>

## Verificar que el agente funciona

Abre esta dirección en el navegador o usa PowerShell:

```powershell theme={null}
Invoke-RestMethod http://localhost:9100/health
```

Respuesta esperada:

```json theme={null}
{ "status": "ok", "version": "1.1.0", "uptime": 12, "platform": "win32" }
```

Para listar las impresoras detectadas:

```powershell theme={null}
Invoke-RestMethod http://localhost:9100/printers
```

También puedes hacer clic en el icono de Fire Agent en la bandeja del sistema para abrir el panel informativo. Para pruebas de impresión, consulta [Web del agente](/es/manuals/fire-agent/web-tools).

### Puertos utilizados

| Puerto | Dirección                | Protocolo   | Uso                                         |
| ------ | ------------------------ | ----------- | ------------------------------------------- |
| `9100` | `127.0.0.1` (solo local) | HTTP / WS   | WebSocket en texto plano y endpoints REST   |
| `9101` | `127.0.0.1` (solo local) | HTTPS / WSS | WebSocket cifrado (certificado autofirmado) |

## Desinstalación

Existen tres métodos. Todos eliminan el agente por completo (archivos, configuración, certificado, inicio automático y registro).

### Método 1 — Agregar o quitar programas (recomendado)

1. Abre **Configuración** (`Windows` + `I`).
2. Ve a **Aplicaciones → Aplicaciones instaladas**.
3. Busca **Fire Agent**, abre el menú (⋯) → **Desinstalar** y confirma.
4. Si aparece el aviso de UAC, haz clic en **Sí** y sigue el asistente.

### Método 2 — Desinstalador independiente (`fireAgentUninstall.exe`)

Útil cuando el instalador original ya no está disponible.

1. Haz **clic derecho → Ejecutar como administrador**.
2. Confirma en el cuadro de diálogo y sigue el asistente (**Siguiente → Desinstalar → Finalizar**).

### Método 3 — Desinstalación silenciosa (scripts o despliegues masivos)

Desde PowerShell o CMD como administrador:

```powershell theme={null}
.\fireAgentUninstall.exe /S
```

El parámetro `/S` ejecuta la desinstalación sin mostrar ventanas ni pedir confirmación.

<Note>
  Cualquiera de los tres métodos detiene `fire-agent.exe`, elimina el inicio automático, la variable `FIRE_AGENT_TOKEN` y el certificado SSL, borra los archivos de `C:\Program Files\FireAgent\` y `%APPDATA%\FireAgent\`, y quita la entrada de Agregar o quitar programas.
</Note>

## Solución de problemas

| Síntoma                                              | Causa probable                                                      | Solución                                                                                                                                                                               |
| ---------------------------------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `http://localhost:9100/health` no responde           | El agente no está en ejecución                                      | Inicia `fire-agent.exe` desde `C:\Program Files\FireAgent\` o reinicia el equipo                                                                                                       |
| El antivirus puso el `.exe` en cuarentena            | Falso positivo con ejecutables de Node empaquetados                 | Restaura el archivo o agrega una exclusión para `C:\Program Files\FireAgent` y `%APPDATA%\FireAgent`, y reinstala                                                                      |
| Error `401 Unauthorized` en la conexión WebSocket    | Token incorrecto                                                    | Verifica `FIRE_AGENT_TOKEN` en las variables de entorno del sistema                                                                                                                    |
| La impresora no aparece en la lista                  | El controlador no está instalado en Windows                         | Instala el driver de la impresora desde la Configuración de Windows                                                                                                                    |
| Una página HTTPS no conecta a `wss://localhost:9101` | `certutil` fue bloqueado y el navegador no confía en el certificado | Importa `%APPDATA%\FireAgent\ssl\cert.cer` en **Entidades de certificación raíz de confianza** (`certmgr.msc`), o abre una vez `https://localhost:9101/health` y acepta la advertencia |
| Firefox muestra advertencia de certificado           | Firefox usa su propio almacén de certificados                       | Activa `security.enterprise_roots.enabled` en `about:config`, o importa el `.cer` en **Firefox → Configuración → Privacidad y seguridad → Certificados**                               |

## Anexo: qué cambia el instalador en el sistema

Referencia para administradores de sistemas.

### Archivos

| Ruta                                        | Contenido                                    |
| ------------------------------------------- | -------------------------------------------- |
| `C:\Program Files\FireAgent\fire-agent.exe` | Ejecutable del agente                        |
| `C:\Program Files\FireAgent\uninstall.exe`  | Desinstalador generado por el instalador     |
| `%APPDATA%\FireAgent\config.json`           | Configuración persistente                    |
| `%APPDATA%\FireAgent\ssl\`                  | Certificado SSL autofirmado (clave + `.cer`) |

### Registro de Windows

| Clave                                          | Propósito                                 |
| ---------------------------------------------- | ----------------------------------------- |
| `HKLM\...\CurrentVersion\Run\FireAgent`        | Inicio automático para todos los usuarios |
| `HKLM\SYSTEM\...\Environment\FIRE_AGENT_TOKEN` | Variable de entorno del sistema           |
| `HKLM\...\CurrentVersion\Uninstall\FireAgent`  | Entrada en Agregar o quitar programas     |

### Variables de entorno admitidas (avanzado)

| Variable                | Valor por defecto       | Descripción                                                      |
| ----------------------- | ----------------------- | ---------------------------------------------------------------- |
| `FIRE_AGENT_TOKEN`      | `fire-agent-dev-token`  | Token compartido con el POS. **Cámbialo en producción.**         |
| `FIRE_AGENT_PORT`       | `9100`                  | Puerto HTTP / WS                                                 |
| `FIRE_AGENT_SSL_PORT`   | `9101`                  | Puerto HTTPS / WSS                                               |
| `FIRE_AGENT_UPDATE_URL` | *(vacío — desactivado)* | URL que se consulta al arrancar para buscar versiones más nuevas |
