WKL Office JSON installieren und verteilen
Sie stellen JDoc und die anderen JSON-Klassen für VBA bereit – auf einem Entwicklungs-PC und auf den PCs der
Benutzer einer Anwendung, ohne den Quellcode und ohne .NET.
Lösungsüberblick
- Eine Datei je Bitversion.
Wkl.Office.JSON.dllist ein nativer COM-Server, der seine Laufzeit selbst mitbringt: Auf keinem PC ist eine .NET-Installation nötig. - Bitversion von Office. 32-Bit-Office braucht die Datei aus
x86, 64-Bit-Office die Datei ausx64; maßgeblich ist Office, nicht Windows (Datei › Konto › Info zu Access). - Registrierung je Windows-Benutzer mit dem
regsvr32derselben Bitversion und/n /i:user, ohne Administratorrechte. - Verweis auf WKL Office JSON 1.2 im VBA-Projekt oder späte Bindung mit
CreateObject("WklJSON.JDoc").
Umsetzung
- Kopieren Sie
Wkl.Office.JSON.dllaus dem Release-Ordnerx86(32-Bit-Office) oderx64(64-Bit-Office) in einen lokalen Ordner, der bestehen bleibt, zum Beispiel%LOCALAPPDATA%\WKL\Office JSON\2.0\x86. Die Dateien.pdbund.xmldaneben sind Debugsymbole und Dokumentation; sie werden nicht benötigt. Schließen Sie Access, und registrieren Sie die Datei für den aktuellen Windows-Benutzer. Für 32-Bit-Office:
%windir%\SysWOW64\regsvr32.exe /n /i:user "%LOCALAPPDATA%\WKL\Office JSON\2.0\x86\Wkl.Office.JSON.dll"
Für 64-Bit-Office verwenden Sie
%windir%\System32\regsvr32.exeund die Datei ausx64. Ergänzen Sie in Skripten/s, um das Meldungsfenster zu unterdrücken; zum Aufheben der Registrierung ergänzen Sie/u.Wählen Sie im VBA-Editor Extras › Verweise, und aktivieren Sie WKL Office JSON 1.2. Prüfen Sie im Direktbereich:
? CreateObject("WklJSON.JDoc").LoadJson("{""a"": 1}")Ausgegeben wird
True.
Auf den PCs der Benutzer wiederholen Sie die Schritte 1 und 2 für jeden Windows-Benutzer, der die Anwendung startet, zum Beispiel aus einem Anmeldeskript; die Datenbank behält ihren Verweis. Bauen Sie eine ACCDE auf einem PC, auf dem dieselbe Datei registriert ist.
Mit dem Starter von WKL Bootstrapper
Ab Release 1.0.2 enthält das Paket in x86 und x64 neben Wkl.Office.JSON.dll die Datei registration.json: die
Registrierung je Benutzer als Daten. Der Starter von WKL Bootstrapper registriert WKL Office JSON daraus für
jeden Windows-Benutzer – ohne Administratorrechte und ohne regsvr32 –, legt es im Profil
des Benutzers je Release in einem eigenen Ordner ab und entfernt es wieder, sobald keine installierte
Anwendung es mehr benötigt. Ein Paket ab 2.0.0 braucht den Starter 2.3.1 oder höher, zusammen mit WKL Forms Object
Library 2.0 den Starter 3.1 oder höher. Das Programm
des Starters heißt ab WKL Bootstrapper 3.0 Wkl.Bootstrapper.exe, vorher Wkl.Access.Bootstrapper.exe.
- Legen Sie das Projekt des Starters mit der Vorlage
jsonan (für eine Access-Anwendung mit WKL-Steuerelementen zusammen mitaccessundcomponents):/new-project ... /template access,components,json. - Kopieren Sie die Ordner
x86undx64des Release-Pakets, jeweils mit ihrerregistration.json, in den Ordnerjsondes Auslieferungsordners, wie es die Vorlage vorsieht. - Liefern Sie aus, wie es für den Starter beschrieben ist (Dokumentation von WKL Bootstrapper, Seiten „Projekt aus Vorlagen erstellen“ und „Der Installer des Bootstrappers 2.0“).
Die Pakete 1.0 und 1.0.1 enthalten keine registration.json; ihre Wkl.Access.JSON.dll meldet die Version 0.1.0.
Verwenden Sie für eine Auslieferung über den Starter 1.0.2 oder höher.
Bis Release 1.0.3 hieß die Bibliothek WKL Access JSON, ihre Datei Wkl.Access.JSON.dll und ihre Typbibliothek
WKL Access JSON 1.0. Ein Verweis darauf löst sich ohne erneutes Kompilieren zu WKL Office JSON 1.2 auf:
Bibliothekskennung, ProgIDs und alle Member sind gleich geblieben. Eine mit 1.0.x ausgelieferte Anwendung behält
ihre Datei; sind beide Releases installiert, registriert der Starter das neuere.
Hinweise
Paket prüfen. Jede Programmdatei des Pakets (EXE und DLL) trägt die Authenticode-Signatur von EMSR DATA, D.O.O. mit Zeitstempel, und
SHA256SUMSnennt die SHA-256-Prüfsumme jeder Datei.sbom.cdx.jsonist die Software-Stückliste (CycloneDX 1.6): jede Datei des Pakets und die Bestandteile anderer Hersteller, die NativeAOT in die DLL bindet (die .NET-Laufzeit, die Visual-C++-Laufzeitbibliothek), jeweils mit Version und Lizenz. Prüfen Sie vor dem Registrieren Signatur und Prüfsummen im Ordner des Pakets:Get-AuthenticodeSignature x86\Wkl.Office.JSON.dll | Format-List Status, SignerCertificate Get-Content SHA256SUMS | ForEach-Object { $hash, $file = $_ -split ' ', 2; if ((Get-FileHash -LiteralPath $file).Hash -ne $hash) { "changed: $file" } }
StatusmussValidsein und der SigniererEMSR DATA, D.O.O.; der zweite Befehl gibt nichts aus, wenn keine Datei verändert ist.- Kein eigenes Installationsprogramm. Das Paket enthält kein MSI und kein Setupprogramm: Installieren Sie von Hand wie oben beschrieben, oder liefern Sie es mit Ihrer Anwendung über den Starter von WKL Bootstrapper aus, der es für jeden Benutzer registriert.
- Der Ordner muss bestehen bleiben. Die Registrierung verweist auf die Datei an ihrem Ort; nach dem Verschieben registrieren Sie sie erneut.
- Jeder Windows-Benutzer registriert einmal.
/n /i:userschreibt nur nachHKEY_CURRENT_USER; der Starter ebenso. - Eine Datei, keine
Wkl.Office.Json.Core.dll. NativeAOT bindet den Kern inWkl.Office.JSON.dllein; das Paket enthält vom Kern nur.pdbund.xml. - Eine falsche Bitversion zeigt sich als Laufzeitfehler 429 oder als Verweis, der als NICHT VORHANDEN markiert ist; registrieren Sie die Datei, die zur Bitversion von Office passt.