Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Office JSON » how-to » WKL Office JSON installieren und verteilen

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.dll ist 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 aus x64; maßgeblich ist Office, nicht Windows (Datei › Konto › Info zu Access).
  • Registrierung je Windows-Benutzer mit dem regsvr32 derselben 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

  1. Kopieren Sie Wkl.Office.JSON.dll aus dem Release-Ordner x86 (32-Bit-Office) oder x64 (64-Bit-Office) in einen lokalen Ordner, der bestehen bleibt, zum Beispiel %LOCALAPPDATA%\WKL\Office JSON\2.0\x86. Die Dateien .pdb und .xml daneben sind Debugsymbole und Dokumentation; sie werden nicht benötigt.
  2. 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.exe und die Datei aus x64. Ergänzen Sie in Skripten /s, um das Meldungsfenster zu unterdrücken; zum Aufheben der Registrierung ergänzen Sie /u.

  3. 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.

  1. Legen Sie das Projekt des Starters mit der Vorlage json an (für eine Access-Anwendung mit WKL-Steuerelementen zusammen mit access und components): /new-project ... /template access,components,json.
  2. Kopieren Sie die Ordner x86 und x64 des Release-Pakets, jeweils mit ihrer registration.json, in den Ordner json des Auslieferungsordners, wie es die Vorlage vorsieht.
  3. 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 SHA256SUMS nennt die SHA-256-Prüfsumme jeder Datei. sbom.cdx.json ist 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" } }

    Status muss Valid sein und der Signierer EMSR 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:user schreibt nur nach HKEY_CURRENT_USER; der Starter ebenso.
  • Eine Datei, keine Wkl.Office.Json.Core.dll. NativeAOT bindet den Kern in Wkl.Office.JSON.dll ein; das Paket enthält vom Kern nur .pdb und .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.

Verwandte Themen

de/wiki/msaccess/json/how-to/install-and-deploy.txt · Zuletzt geändert: von Wolfgang van der Stille