Installation
FoxBridge wird nicht installiert, sondern kopiert. Kein Installer, keine COM-Registrierung und kein Eintrag in der Windows-Registry. Nötig sind aber: den ganzen Ordner kopieren und die Lizenz freischalten.
FoxBridge ist digital signiert
Seit 1.0.1 tragen FoxBridge.dll, FoxBridgeNE.dll und Nexum.dll (x86 und x64), die MiLogica.dll des Tutorials und der Installer eine Herausgebersignatur auf den Namen Irwin Alfredo Rodriguez Gimenez, mit Zeitstempel. So sehen Sie sie: Rechtsklick auf die Datei → Eigenschaften → Digitale Signaturen, oder Get-AuthenticodeSignature in PowerShell, das Valid melden muss.
- SmartScreen: Das Zertifikat ist neu, und Windows kann noch eine Zeit lang warnen. Erscheint „Der Computer wurde durch Windows geschützt“, klicken Sie auf Weitere Informationen: Dort muss Herausgeber: Irwin Alfredo Rodriguez Gimenez stehen. Steht das dort, Trotzdem ausführen; steht dort „Unbekannter Herausgeber“, ist die Datei nicht von uns: Führen Sie sie nicht aus.
Vor der Installation
Der FoxBridge-Installer ist signiert, aber das Zertifikat ist neu, daher kann Windows beim ersten Start noch warnen. Hier steht, was Sie sehen werden, wie es weitergeht und wie Sie selbst prüfen können, dass die heruntergeladene Datei genau die ist, die wir veröffentlicht haben.
Aus dem Internet heruntergeladene Datei und SmartScreen
Wenn Windows sich beim Entpacken oder Verwenden beschwert, ist das die „Mark of the Web“: die .zip kommt aus dem Internet und Windows kennzeichnet sie entsprechend. Und wenn Sie die .bat zum Registrieren der Komponenten ausführen, ohne sie vorher freizugeben, kann zusätzlich SmartScreen erscheinen („Der Computer wurde durch Windows geschützt“): dort sind es zwei Klicks, „Weitere Informationen“ und „Trotzdem ausführen“.
- Rechtsklick auf die .zip → Eigenschaften.
- Unten Zulassen ankreuzen und bestätigen.
- Erst freigeben, dann entpacken: andersherum bleibt die Markierung an jeder einzelnen Datei.
Es geht auch per PowerShell: Unblock-File auf die heruntergeladene .zip.
Wenn Ihr Virenscanner blockiert
Manche Virenscanner stellen frisch heruntergeladene Dateien unter Quarantäne. Fügen Sie in dem Fall eine Ausnahme für den Ordner hinzu, in dem die FoxBridge-Dateien in Ihrer Anwendung liegen, denn FoxBridge hat keinen festen Installationsordner: seine Dateien liegen neben Ihrem Projekt.
Wenn der Virenscanner der Firma gehört und Sie seine Regeln nicht ändern dürfen, geben Sie den SHA-256 unten an die Administration weiter: mehr braucht sie nicht, um die Datei freizugeben.
Prüfen Sie, was Sie heruntergeladen haben
Das sind die Daten der aktuellen Version und der Tag ihrer Veröffentlichung. Der Hash wird über die Datei berechnet, so wie das Portal sie ausliefert:
| Datei | Version | Veröffentlicht | Größe | SHA-256 |
|---|---|---|---|---|
FoxBridge-1.0.1.zip | 1.0.1 | 15. Sept. 2026 | 7.6 MB | A37C09B7ACEA26343107D51B015E4A60BE8AA0344BC6B7665C2ADF4CBE59DF1D |
Zum Prüfen öffnen Sie PowerShell in Ihrem Download-Ordner und führen aus:
Get-FileHash -Algorithm SHA256 "$HOME\Downloads\FoxBridge-1.0.1.zip"Stimmt der Wert mit der Tabelle überein, ist die Datei von uns und unversehrt. Stimmt er nicht, führen Sie sie nicht aus: laden Sie sie erneut herunter, und wenn es dann immer noch nicht passt, schreiben Sie an soporte@irwinrodriguez.dev.
Die Hashes werden bei jeder veröffentlichten Version neu gemessen. Wenn Sie eine ältere Version heruntergeladen haben, muss ihr Hash nicht mit dieser Tabelle übereinstimmen.
1. Dateien kopieren
Kopieren Sie aus dem Paket FoxBridge.prg und den Unterordner der Architektur in Ihr Projekt, unter Beibehaltung der Struktur:
MiApp\
libs\
FoxBridge.prg <- la API que usas desde VFP
x86\ <- VFP 9 y VFPA x86
FoxBridgeNE.dll
FoxBridge.dll
Nexum.dll
FoxBridge.runtimeconfig.json
FoxBridge.deps.json
x64\ <- solo si usas VFP Advanced x64Alle fünf Dateien in x86\ werden gebraucht. FoxBridgeNE.dll ist der Eingang, aber die Logik steckt in FoxBridge.dll, die Lizenzprüfung in Nexum.dll, und die beiden .json-Dateien sagen der .NET-Laufzeit, was sie laden soll. Und sie müssen unterhalb des Ordners der .prg liegen, in x86\: dort wird gesucht. Nur die DLL „neben die .prg“ zu kopieren ergibt „FoxBridge: FoxBridgeNE.dll not found“.
x86\. Der Ordner x64\ kommt nur bei 64-bittigem VFP Advanced ins Spiel. FoxBridge.prg sieht sich die Architektur des Prozesses an und wählt selbst; Sie können beide Ordner mitliefern und es vergessen. 2. Die .NET-Laufzeit prüfen
FoxBridge braucht die Laufzeit von .NET 8 oder neuer in der Architektur des Prozesses: bei VFP 9 also x86. Und das sagt dotnet --version nicht: es zeigt das SDK, und fast immer das 64-bittige. Gefragt ist die Liste der Laufzeiten:
dotnet --list-runtimes
REM Suchen Sie eine Zeile Microsoft.NETCore.App 8.x (oder neuer),
REM deren Pfad der 32-Bit-Pfad ist:
REM C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.AppFehlt sie, installieren Sie die .NET Desktop Runtime x86 (8 oder neuer) von https://dot.net. Mit der falschen Laufzeit scheitert die Initialisierung mit einem HRESULT, und die Meldung nennt die erwartete Architektur.
3. Initialisieren und freischalten
Zwei Zeilen beim Start Ihrer Anwendung. Die zweite ist nicht optional: ohne Activate() funktioniert nichts, weder in der IDE noch in der EXE. Jeder Aufruf ohne Freischaltung antwortet mit „FoxBridge is not activated“.
LOCAL loBridge, lcSchluessel
* Variante A: FoxBridge.prg im selben Verzeichnis
loBridge = NEWOBJECT("FoxBridge", "FoxBridge.prg")
* Variante B: mit vollstaendigem Pfad
* loBridge = NEWOBJECT("FoxBridge", "C:\MeineApp\libs\FoxBridge.prg")
* Variante C: mit SET PROCEDURE TO, einmal beim Start
* SET PROCEDURE TO "C:\MeineApp\libs\FoxBridge.prg" ADDITIVE
* loBridge = NEWOBJECT("FoxBridge")
* Der Schluessel ist das JWT Ihrer Lizenz. Activate() liefert .F., wenn
* es nicht gueltig ist, und hinterlegt den Grund in GetLastError(); es
* loest keinen VFP-ERROR aus.
lcSchluessel = MeinSystem_LizenzHolen()
IF !loBridge.Activate(lcSchluessel)
MESSAGEBOX("FoxBridge-Lizenz ungueltig: " + ;
loBridge.GetLastError(), 16, "FoxBridge")
RETURN .F.
ENDIFStringBuilder. Bewahren Sie das JWT dort auf, wo Sie Ihre Geheimnisse aufbewahren, und übergeben Sie es an Activate(); FoxBridge liest es von sich aus aus keiner Datei. 4. Prüfen, ob geladen wurde
Bei freigeschaltetem Bridge bestätigt Ihnen das jede dieser beiden Zeilen:
? loBridge.Version()
&& FoxBridge Runtime 1.0.0 / Core ...
? loBridge.TypeExists("System.Text.StringBuilder")
&& .T.Weiter: Erste Schritte ->