IR
irwinrodriguez.dev
Volver a documentación

Instalación

FoxCore se instala con FoxCore.Runtime-Setup-3.4.2.exe: registra el motor COM para toda la máquina, en las dos vistas del registro, y trae una comprobación que dice si de verdad quedó registrado. La licencia no se instala: se activa por código.

FoxCore va firmado digitalmente

Desde la 3.4.2, FoxCore.Runtime.dll, Nexum.dll y el instalador llevan firma de editor a nombre de Irwin Alfredo Rodriguez Gimenez, con sello de tiempo. Para verlo: clic derecho sobre el fichero → Propiedades → Firmas digitales, o Get-AuthenticodeSignature en PowerShell, que tiene que decir Valid.

  • SmartScreen: el certificado es nuevo y Windows puede avisar todavía durante un tiempo. Si sale «Windows protegió tu PC», pulsa Más información: tiene que decir Editor: Irwin Alfredo Rodriguez Gimenez. Si lo dice, Ejecutar de todas formas; si dice «Editor desconocido», ese fichero no es el nuestro: no lo ejecutes.

Antes de instalar

El instalador de FoxCore va firmado, pero el certificado es nuevo y Windows puede avisarte todavía la primera vez que lo ejecutes. Esto explica qué vas a ver, cómo seguir y cómo comprobar por tu cuenta que el fichero que has descargado es exactamente el que publicamos.

El aviso de SmartScreen

Si al ejecutarlo sale una ventana azul que dice «Windows protegió tu PC», pulsa «Más información» y mira el editor: tiene que ser Irwin Alfredo Rodriguez Gimenez. El aviso no significa que el fichero tenga nada malo: significa que Windows todavía no ha visto suficientes descargas con este certificado como para reconocerlo.

  1. Pulsa Más información.
  2. Pulsa Ejecutar de todas formas.

Antes de dar ese segundo clic, comprueba el hash: es la manera de saber que lo que vas a ejecutar es lo nuestro y no una copia alterada.

Si tu antivirus lo detiene

Algunos antivirus ponen en cuarentena instaladores poco frecuentes. Si te pasa, añade una exclusión para la carpeta de instalación, C:\Program Files (x86)\FoxCore.Runtime, y vuelve a ejecutarlo.

Si el antivirus es de la empresa y no puedes tocar sus reglas, pásale el SHA-256 de abajo a quien la administre: es lo que necesita para dar el fichero por bueno.

Comprueba lo que has descargado

Estos son los datos de la versión vigente y del día en que se publicó. El hash se calcula sobre el fichero tal cual sale del portal:

FicheroVersiónPublicadaTamañoSHA-256
FoxCore.Runtime-Setup-3.4.2.exe 3.4.2 15 sept 2026 2.1 MB 33BD10DCE4152526E007BCF1EBD2A71EC30706C43C81B476FEF481A39ABCBE2C

Para comprobarlo, abre PowerShell en la carpeta de descargas y ejecuta:

Calcular el SHA-256 del fichero descargado
Get-FileHash -Algorithm SHA256 "$HOME\Downloads\FoxCore.Runtime-Setup-3.4.2.exe"

Si el valor que sale coincide con el de la tabla, el fichero es el nuestro y está íntegro. Si no coincide, no lo ejecutes: vuelve a descargarlo y, si sigue sin coincidir, escríbenos a soporte@irwinrodriguez.dev.

Los hashes se vuelven a medir en cada versión publicada. Si has descargado una versión anterior, su hash no tiene por qué coincidir con el de esta tabla.

Requisitos

ComponenteRequisito
WindowsWindows 10 / 11
.NET Framework4.8, y el instalador no sigue si no encuentra el RegAsm de 32 bits
Visual FoxProVFP 9.0 SP2 registrado como servidor de automatización (VisualFoxpro.Application.9)
PermisosAdministrador: el registro va a HKLM, que es lo que ve un servicio o una tarea programada
Espacio en disco10 MB

Lo de Visual FoxPro es un aviso, no un impedimento: desde la 3.1.0 el proceso que ejecuta las tareas puede ser otro EXE tuyo registrado como servidor de automatización (propiedad WorkerProgId).

Una nota sobre 32 y 64 bits

Desde 3.4.0 el instalador registra el motor en las dos vistas del registro, y al desinstalar quita las dos. Son dos registros distintos, no uno en dos sitios. La de 32 bits es la obligatoria: es la única que mira vfp9.exe, y registrar sólo en la de 64 deja a VFP diciendo «Clase no registrada» sobre una DLL que sí está registrada, sólo que donde VFP no busca. La de 64 bits es la que ve un proceso de 64 que cree FoxCore (un servicio, una tarea programada, una aplicación .NET x64), y hasta 3.3.0 esos casos fallaban. Si la máquina no tiene Framework64\, el instalador lo dice y sigue.

Instalación paso a paso

1. Descarga el instalador

Desde tu portal de cliente, en el detalle de tu licencia. El nombre lleva la versión: FoxCore.Runtime-Setup-3.4.2.exe.

2. Ejecútalo

Pedirá elevación una vez. Es el motivo de que exista: registrar para toda la máquina.

3. Deja marcada «Comprobar la instalación ahora»

Ejecuta verify.cmd, que crea el objeto desde un proceso de 32 bits: la misma vista del registro que ve VFP. Es la comprobación que vale. Ya no pide ninguna licencia.

Qué hace y dónde

QuéDónde
Carpeta de instalaciónC:\Program Files (x86)\FoxCore.Runtime, con bin\, demo\, tools\ y la documentación
Registro COMHKLM, las dos vistas: con el RegAsm de 32 bits (Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe) y con el de 64 (Framework64\) si existe, con /codebase y sin /tlb
Tu licenciano se instala: no hay fichero. Se activa por código con Activate()
Carpeta demoqueda escribible por Usuarios, para que la demo escriba su informe donde dice y no en el VirtualStore
Al desinstalarse desregistra el motor COM en las dos vistas: quitar sólo una deja un registro huérfano apuntando a una carpeta que ya no existe

Si ya habías registrado FoxCore sólo para tu usuario

Una registración en HKCU tapa a la de toda la máquina: seguirías cargando la versión vieja sin enterarte. El instalador intenta quitarla y, si no puede, lo dice en vez de callárselo: corre elevado, y ahí el HKCU puede no ser el tuyo. La quitas tú, sin elevar, con unregister-user.cmd en la carpeta de instalación. verify.cmd avisa mientras siga puesta.

Instalación desatendida

Para meterlo en el instalador de tu propia aplicación:

Instalar sin preguntas desde la línea de comandos
FoxCore.Runtime-Setup-3.4.2.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART

La licencia

  1. Instalar no instala ninguna licencia, y no es un olvido: desde 3.4.0 no hay fichero .lic.
  2. La licencia es un JWT que le pasas a Activate() al arrancar tu aplicación.
  3. Se exige siempre, también en el .exe que tú distribuyes. Hasta 3.3.0 sólo se validaba en el IDE.
Cómo se activa, de dónde sale el JWT y qué pasa si falta está en Licencias, con el fragmento de código completo.

Comprobación desde VFP

En la ventana de comandos de Visual FoxPro:

Comprobar el registro y la licencia desde la ventana de comandos
loRt = CREATEOBJECT("FoxCore.Runtime")
? loRt.Ping()                                && FoxCore.Runtime 3.4.2
? loRt.Activate(lcJwt)                       && .T. -- tu licencia, como cadena
loRt.Attach(_VFP)
? loRt.State, loRt.IsLicensed                && Attached  .T.
loRt.Shutdown()

Si Ping() falla, es el registro: esta página. Si Activate() devuelve .F., es la licencia: la página de Licencias. No son el mismo problema y no se arreglan igual.

Problemas comunes

ProblemaCausaSolución
«Clase no registrada» al crear FoxCore.RuntimeNo está registrado, o lo está sólo en la vista que no mira quien lo creaAbre una consola como administrador en la carpeta de instalación y ejecuta register.cmd, que registra las dos vistas y dice el motivo exacto si falla
Sigo cargando una versión viejaHay una registración por usuario (HKCU) que tapa la de la máquinaEjecuta unregister-user.cmd SIN elevar
«El worker no llegó a arrancar»No hay VFP 9 registrado como servidor de automatizaciónRegístralo, o apunta WorkerProgId a otro EXE y compruébalo con ProbeWorker()
Activate() devuelve .F.El JWT está incompleto, es de otro producto o ha caducadoVuelve a copiarlo entero del portal. El detalle, en la página de Licencias
El instalador no arranca y habla de .NETFalta .NET Framework 4.x (no encuentra el RegAsm de 32 bits)Instala .NET Framework 4.8 y vuelve a ejecutarlo

Siguiente: Primeros pasos ->