Instalación
Los requisitos, la instalación, el árbol que queda y dónde va la licencia.
FoxServer va firmado digitalmente
Desde la 0.9.19, FoxServer.Host.exe, FoxServer.Core.dll, SecurityHelper.dll, foxserver.exe 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 FoxServer 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.
- Pulsa Más información.
- 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:\Programas\FoxServer, 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:
| Fichero | Versión | Publicada | Tamaño | SHA-256 |
|---|---|---|---|---|
FoxServer-Setup-0.9.38.exe | 0.9.38 | 12 oct 2026 | 12.1 MB | 82AA0B36A4966292716245811B92787C570087BB8192DBFA8705F78346E8BF54 |
Para comprobarlo, abre PowerShell en la carpeta de descargas y ejecuta:
Get-FileHash -Algorithm SHA256 "$HOME\Downloads\FoxServer-Setup-0.9.38.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
Dos cosas hay que poner tú, y las dos paran el arranque si faltan: el runtime de .NET 10 en x86 y tu licencia.
- .NET 10 Runtime, variante x86. FoxServer es de 32 bits, y no es una preferencia: carga el COM de Visual FoxPro, que lo es. El runtime x64 no sirve aunque esté instalado, y si no encuentra el de 32 bits, el instalador te ofrece bajarlo e instalarlo (desde la 0.9.27: unos 28 MB de Microsoft, con su firma comprobada antes de ejecutarlo). Si prefieres hacerlo a mano, la descarga directa es dotnet-runtime-win-x86.exe. Es el «.NET Runtime» normal: no hace falta el de ASP.NET Core ni el de escritorio.
- Windows 10 o superior, de 32 o de 64 bits.
- En la máquina donde desarrollas, el IDE de Visual FoxPro 9 SP2:
init,controller-addybuildlo necesitan. En la máquina donde sirves no hace falta: bastan los runtimes de VFP 9 junto a tu MTDLL. - Administrador para instalar y para dar de alta el servicio. Y consola elevada para
build:BUILD MTDLLregistra la coclase al terminar.
Instalación
- Descarga el instalador.
FoxServer-Setup-<versión>.exe, desde el detalle de tu licencia en el portal. El nombre lleva la versión, y la que te ofrece el portal es la que te toca según tu mantenimiento. - Ejecútalo como administrador. Hace falta para registrar
SecurityHelper.comhost.dllpor COM y para dar de alta el servicio de Windows. No escribe ninguna variable de entorno ni toca la ruta del sistema: la CLI y el host se encuentran mirándose los pies, desde la carpeta en la que están. - Elige la carpeta. Por defecto
C:\Programas\FoxServer. Hasta la 0.9.34 eraC:\Program Files (x86)\FoxServer, y quien actualiza encima sigue en la carpeta que ya tenía. Puedes instalar donde quieras, pero no aplanes el árbol: siconfig\deja de estar al lado debin\, el arranque muere en la puerta de la licencia sin decir que el problema era la estructura. - Deja el alta del servicio marcada. Viene marcada, y en una máquina limpia es lo que quieres. Si la máquina ya tenía el servicio y has instalado en otra carpeta, el alta no lo reemplaza: se corrige con
sc config FoxServer binPath= "<nueva>\bin\FoxServer.Host.exe --service". - Copia tu licencia. A
config\foxserver.lic, dentro de la carpeta que elegiste. No viaja en el instalador y no puede: un JWT lleva titular y correo, y se emite por cliente.
Modo desatendido
Para desplegarlo con una herramienta de gestión. /LIC es nuestro y copia la licencia a config\; los otros tres son de Inno Setup. En desatendido no se abre ningún diálogo y la comprobación final no se lanza: pásala luego con verify.cmd.
FoxServer-Setup-0.9.38.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART ^
/LIC="C:\ruta\foxserver.lic"Lo único que sigue siendo un impedimento en desatendido es que falte el runtime de .NET 10 x86: ahí se para sin preguntar, a propósito, porque un servidor puede no tener salida a internet. Si la tiene, añade /DOTNET=descargar y lo baja e instala él.
Si ya tenías FoxServer instalado
Con el instalador no hay que hacer nada: para el servicio y lo vuelve a arrancar al acabar si estaba en marcha. Si descomprimes el ZIP encima, para el servicio antes (net stop FoxServer): mientras corre tiene abiertos FoxServer.Host.exe y sus DLL, y la copia falla sobre esos ficheros.
La demo (desde la 0.9.28)
El instalador trae una casilla, marcada, que instala una demo y la abre en el navegador al terminar: http://127.0.0.1:8099/, una tienda con datos DBF servida como API REST y como página, con el código VFP que la produce al lado de cada resultado. Funciona sin licencia: sin config\foxserver.lic, FoxServer sirve solo la demo, y solo a esta máquina. Vive en demo\; para apagarla, "active": false en config\servers\foxserver-demo-api.json y foxserver-demo-web.json. En desatendido no se instala, salvo con /DEMO=1.
El árbol, que es parte del contrato
<raiz de la instalacion>\ por defecto C:\Programas\FoxServer\
bin\ el host. LA RAIZ ES LA CARPETA PADRE DE ESTA
FoxServer.Host.exe el servidor
FoxServer.Core.dll
SecurityHelper.comhost.dll se registra con el regsvr32 de 32 bits
Interop.vfp9.dll
vfpTemplate.txt obligatorio si hay algun sitio "web"
Nexum.dll Newtonsoft.Json.dll System.Management.dll ...
config\ foxserver.lic + servers\*.json (un manifiesto por servidor)
logs\ FoxServer_<fecha>.log, uno por dia, partido a 10 MB
cli\ foxserver.exe: crear y compilar proyectos sin abrir el IDE
ide\ FoxForge.APP + providers\web\: el taller, dentro del IDE de VFP
ejemplos\ los ejemplos de la guia, ejecutables
tools\ requisitos, inventario y verificacion
foxforge.cmd abre FoxForge en el IDE de VFP 9
install.cmd comprueba, inventaria y verifica de verdad
verify.cmd la verificacion solaLa licencia
Se descarga del portal, en el detalle de la licencia. El correo que recibes avisa de que ya está: no lleva el fichero adjunto. Se copia a config\foxserver.lic, dentro de la carpeta donde instalaste. El servidor la busca junto al bin\ del que arranca. Sin ella el host arranca y se para en la puerta: no sirve nada.
127.0.0.1. Si vas a llamar desde otra máquina de la red, necesitas una Runtime. Es el malentendido número uno: parece un problema de permisos y es la licencia. Los detalles están en Licencias. Comprobar que funciona
Lo más completo es install.cmd, que comprueba los requisitos, hace inventario de lo declarado y verifica de verdad: levanta el servidor, le hace una petición HTTP y lo apaga, parando en el primer falló. A mano:
cd "C:\Programas\FoxServer\bin"
FoxServer.Host.exeTiene que salir algo así:
2026-09-20 09:15:02.114 INFO FoxServer 0.9.38, console mode
2026-09-20 09:15:02.201 INFO VFP pool: 2 STA threads, timeout 120 s, queue 16, admission slots 50 (defaults)
2026-09-20 09:15:02.203 INFO License: Runtime, Tu Empresa, S.L., 1 seat(s), maintenance until 2027-01-15 (active)
2026-09-20 09:15:02.350 INFO salesapi: docs at GET /openapi.json and GET /docs
2026-09-20 09:15:02.402 INFO salesapi [api] listening on http://127.0.0.1:8099/
2026-09-20 09:15:41.870 INFO GET /api/customers 200 26 ms salesapi 127.0.0.1Si algo va mal
| Lo que ves | Qué es | Qué hacer |
|---|---|---|
| El instalador se para nombrando .NET | Falta el runtime de .NET 10 de 32 bits y no se aceptó bajarlo (o se instaló en desatendido). El x64 no cuenta | Vuelve a lanzarlo y acepta la descarga, o instala el runtime x86 a mano |
| 403 desde otra máquina, y desde la misma funciona | La licencia es Developer | Para servir a otras máquinas hace falta una licencia Runtime |
| El host arranca y no sirve nada (o solo la demo) | Falta config\foxserver.lic, o el árbol se aplanó y config\ no está junto a bin\ | Copia la licencia a config\ y deja el árbol como salió del ZIP |
500 en un sitio de tipo web | Falta bin\vfpTemplate.txt | Reinstala o recupera ese fichero: es obligatorio en cuanto hay un sitio web |
| «No servers could be started» | Ningún manifiesto de config\servers\ pudo levantarse: DLL que no está, puerto ocupado o ruta mal | Mira logs\FoxServer_<fecha>.log: dice cuál y por qué |
/docs sale en blanco | Swagger carga su interfaz de un CDN y la máquina no tiene internet | No es un fallo del servidor; el /openapi.json sigue funcionando |
| El puerto está ocupado | Otro servicio lo tiene tomado | Cambia port en el manifiesto del servidor, en config\servers\ |
Siguiente: Primeros pasos →