Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » how-to » Freigegebenes Paket installieren

Freigegebenes Paket installieren

Installieren Sie ein Release der WKL Forms Object Library auf einem Entwicklungs-PC, sodass die Steuerelemente im Access-Dialogfeld ActiveX-Steuerelemente erscheinen und VBA sie kennt – ohne Quellcode und ohne etwas zu bauen.

Voraussetzungen: Windows 10 oder 11 und Microsoft 365 Access oder die Access Runtime.

Lösungsüberblick

  • Runtime: Installieren Sie die .NET 10 Desktop Runtime in der Bitversion von Office.
  • Dateien: Kopieren Sie den Ordner der Office-Bitversion (x86 für 32-Bit-Office, x64 für 64-Bit-Office) des Release in einen lokalen Ordner, der an seinem Platz bleibt.
  • Registrierung: Registrieren Sie Wkl.Forms.ObjectLibrary.dll aus diesem Ordner mit dem regsvr32 derselben Bitversion für den aktuellen Windows-Benutzer (/n /i:user, keine Administratorrechte).
  • Prüfung: Der Verweis WKL Forms x.y Object Library des Release erscheint im VBA-Editor.

Unterstützte Konfiguration: 32-Bit- und 64-Bit-Access (Microsoft 365 Access und Access Runtime); das Paket enthält die Dateien für beide.

Umsetzung

  1. Ermitteln Sie die Bitversion von Office. WKL richtet sich nach Microsoft Access, nicht nach Windows: Verwenden Sie die x64-Dateien mit 64-Bit-Access und die x86-Dateien mit 32-Bit-Access. In Access zeigt Datei › Konto › Info zu Access „32-Bit“ oder „64-Bit“. Die Bitversion von Windows spielt keine Rolle: 32-Bit-Office unter 64-Bit-Windows braucht die 32-Bit-Dateien (x86). Microsoft installiert Office standardmäßig als 64-Bit-Version; 32-Bit-Office ist dort weiterhin verbreitet, wo ältere VBA-Lösungen, ActiveX-Steuerelemente oder Add-Ins im Einsatz sind, deshalb werden beide Bitversionen gebaut. Eine falsche Bitversion zeigt sich durch fehlende Steuerelemente oder einen als NICHT VORHANDEN markierten Verweis (Fehlerbehebung).
  2. Installieren Sie die .NET 10 Desktop Runtime dieser Bitversion von https://dotnet.microsoft.com/download/dotnet/10.0 (Spalte „Desktop Runtime“, x86 für 32-Bit-Office, x64 für 64-Bit-Office). Eine Runtime der anderen Bitversion hilft nicht.
  3. Kopieren Sie die Dateien. Ein Release enthält die Ordner x86 und x64 mit den Steuerelementen, tools\build (das Build-Werkzeug, siehe Access-Anwendung aus ihren Textquellen bauen), control-blocks (die Steuerelementbausteine aller WKL-Steuerelemente, siehe WKL-Steuerelemente per Code in Formulare einfügen), CHANGELOG.md sowie addin mit tools\install-addin.ps1, das Add-In WKL Extensions mit den Designern unter Datenbanktools › Add-Ins (führen Sie tools\install-addin.ps1 einmal je Windows-Benutzer bei geschlossenem Access aus). Kopieren Sie das ganze Release-Paket in einen lokalen Ordner, der an seinem Platz bleibt, zum Beispiel %LOCALAPPDATA%\WKL\Access Components\<version>; so bleiben tools, control-blocks und themes bei den Steuerelementen, und Projektdateien nennen sie von einer Stelle aus. Die Dateien des Ordners der Bitversion gehören zusammen; die Registrierung zeigt auf %LOCALAPPDATA%\WKL\Access Components\<version>\x86:

    DateiZweck
    Wkl.Forms.ObjectLibrary.dllDie Datei, die Sie registrieren: das native Startmodul mit der Typbibliothek
    Wkl.Forms.ObjectLibrary.Managed.dll, .deps.json, .runtimeconfig.jsonDie Steuerelemente auf .NET 10, vom Startmodul aus demselben Ordner geladen
    Wkl.Forms.ObjectLibrary.Core.dllLogik der Steuerelemente ohne COM
    Wkl.Office.Json.Core.dllDie JSON-Engine hinter JPath und AsJSON
    *.pdb, *.xmlDebugsymbole und Dokumentationsdateien; für die Ausführung nicht nötig, dürfen fehlen
  4. Schließen Sie jede Access-Instanz (Access behält eine geladene DLL, bis es beendet wird), und registrieren Sie dann für den aktuellen Windows-Benutzer. Für 32-Bit-Office:

    %windir%\SysWOW64\regsvr32.exe /n /i:user "%LOCALAPPDATA%\WKL\Access Components\<version>\x86\Wkl.Forms.ObjectLibrary.dll"

    Für 64-Bit-Office:

    %windir%\System32\regsvr32.exe /n /i:user "%LOCALAPPDATA%\WKL\Access Components\<version>\x64\Wkl.Forms.ObjectLibrary.dll"

    regsvr32 meldet den Erfolg in einem Meldungsfenster; mit /s unterdrücken Sie es in Skripten (der Exitcode ist bei Erfolg dann 0). Das Registrieren eines Release entfernt für diesen Benutzer die Registrierung jeder anderen Version der Bibliothek, sodass eine Datenbank nie eine ältere Kopie erwischt.

  5. Prüfen Sie. Öffnen Sie eine Datenbank, öffnen Sie den VBA-Editor (Alt+F11), wählen Sie Extras › Verweise, und suchen Sie WKL Forms <version> Object Library (die Version des Release). Ein Formular in der Entwurfsansicht bietet die Steuerelemente nun unter Formularentwurf › Steuerelemente › ActiveX-Steuerelemente an („WKL Grid“, „WKL TreeView“ …). Access setzt den Verweis WKL Forms x.y Object Library selbst, wenn ein Steuerelement eingefügt wird; er liefert IntelliSense und die Konstanten (wke…, wso…, wdz… usw.). WklToast und WklLinkManager sind Objekte, keine Steuerelemente: Setzen Sie den Verweis im VBA-Editor (Extras › Verweise › WKL Forms x.y Object Library), und erstellen Sie sie mit New.

Um die Registrierung zu entfernen, schließen Sie Access und führen denselben Befehl mit /u aus:

%windir%\SysWOW64\regsvr32.exe /u /n /i:user "%LOCALAPPDATA%\WKL\Access Components\<version>\x86\Wkl.Forms.ObjectLibrary.dll"

Um ein neueres Release zu installieren, schließen Sie Access, kopieren es in einen eigenen Ordner und registrieren es wie in Schritt 4; löschen Sie danach den alten Ordner.

Hinweise

  • Pro Windows-Benutzer. /n /i:user schreibt nur nach HKEY_CURRENT_USER. Jeder Windows-Benutzer des PCs, der die Datenbank öffnet, registriert einmal für sich selbst. Eine Registrierung für alle Benutzer eines PCs (regsvr32 ohne /n /i:user, als Administrator) wird in diesem Release nicht unterstützt.
  • Der Ordner muss bleiben. Wird der Ordner verschoben oder gelöscht, ist die Registrierung defekt: Die Steuerelemente fehlen im Dialogfeld, und der Verweis ist als NICHT VORHANDEN markiert. Registrieren Sie erneut vom neuen Ort aus.
  • Wie die Registrierung aussieht. Die Klasse (ProgIDs WklForms.* und ihre Klassen-IDs) ist in jedem Release gleich, sodass eine mit einem älteren Release gebaute Datenbank das neuere findet. Die Typbibliothek hat die Version des Release, x.y; Windows schreibt sie hexadezimal als Schlüsselnamen unterhalb von HKEY_CURRENT_USER\Software\Classes\TypeLib\{A37D549E-FCD0-48EC-8B14-C7323B747E4F}. Release 1.56 ist also der Schlüssel 1.38 (0x38 = 56), mit dem Namen „WKL Access Components 1.56“ als Wert, und 0\win32 und 0\win64 nennen die DLL jeder Bitversion. Der VBA-Editor zeigt den dezimalen Namen. Eine Datenbank bindet sich über ihre ID an die Typbibliothek und löst beim Öffnen die Version auf, die gerade registriert ist (siehe Versionen).
  • Kein eigenes Setupprogramm. Installieren Sie mit den obigen Schritten oder einem Skript mit ihnen (Anwendung mit WKL-Steuerelementen auf Benutzer-PCs verteilen), oder liefern Sie die Komponenten zusammen mit der Anwendung über WKL Bootstrapper aus, der sie für jeden Benutzer registriert.
  • Eine andere .NET-Version in Access. Ein natives Startmodul lädt die .NET 10 Runtime in MSACCESS.EXE. Ein Prozess kann nur eine .NET-Version (CoreCLR) ausführen: Hat ein anderes Add-In zuvor eine andere Version in Access geladen, können die Steuerelemente nicht starten, und das Startmodul meldet das in einer Meldung, statt Access zu stören; siehe Access meldet, dass eine andere .NET-Version geladen ist.

Verwandte Themen

de/wiki/msaccess/comctl/how-to/install-the-released-package.txt · Zuletzt geändert: von Wolfgang van der Stille