ComponentPath

  HKEY...[]\Config: ComponentPath (Zeichenfolge)
  HKEY...[]\Appl\<Anwendung>: ComponentPath (Zeichenfolge)

Wenn die TAA-Infrastruktur ein ausführbares Modul sucht, so wird dafür ein eigener Suchpfad aufgebaut, und zwar aus den ComponentPath-Angaben. Dies ermöglicht es, Module anwendungsbezogen oder nach sonstigen, selbst festzulegenden Kriterien zu gruppieren.

Ab dem TAA Release 10.00 wird der ComponentPath zwischen 32-Bit (ComponentPath32), 64-Bit (ComponentPath64) und allgemein (ComponentPath) unterschieden. Die Plattform-spezifische Pfadangabe wird dabei, passend zur aktuellen Anwendungsplattform, der allgemeinen Angabe vorangestellt.1)

Der ComponentPath wird verwendet bei der Suche nach

  • Resourcen-DLLs, und
  • Anwendungsmodulen, z.B. in DLLs enthaltene Module (*.dll), VisualBasic-Projekte (*.vbp), COBOL-Programme (*.int, *.cbl), und ausführbare Module (*.exe), sofern in der Implementierungsspezifikation für das Modul nicht ein kompletter Pfadname angegeben ist.

Auch die API Methoden ComponentPathSearch bzw. ComponentPathBuild berücksichtigen den ComponentPath.

Verzeichnisstruktur

Für jedes Verzeichnis welches in ComponenPath angegeben ist, wird bei der Suche die aktuelle Verzeichnisstruktur unterstützt2). Welche der Unterverzeichnisse bei der Suche berücksichtigt werden, ist abhängig vom aktuelle Prozess, und was wofür gesucht wird. In der Regel nur die Unterverzeichnisse für das jeweilige Zielplattform (bin32 für 32 Bit oder bin64 für 64 Bit) und TargetFramework für das Prozess.

2 Bespiele mit den Eintrag REWT_bin;RFRG_bin für ComponentPath:

Eintrag 32 Bit mit .NET 4.8 64 Bit mit .NET 8.0
REWT_bin REWT_bin\bin32\net4.8 REWT_bin\bin64\net8.0-windows
REWT_bin\bin32 REWT_bin\bin64
REWT_bin\net4.8 REWT_bin\net8.0-windows
REWT_bin REWT_bin
RFRG_bin RFRG_bin\bin32\net4.8 RFRG_bin\bin64\net8.0-windows
RFRG_bin\bin32 RFRG_bin\bin64
RFRG_bin\net4.8 RFRG_bin\net8.0-windows
RFRG_bin RFRG_bin

Nur wenn eine Assembly für den ITyp DLLCLR gesucht wird, werden pro Eintrag zusätzlich auch die Unterverzeichnisse für das jeweilige andere Zielplatform und alle andere TargetFrameworks (neuste zuerst) berücksichtigt, damit Stufenweise eine Migration von Anwendungskomponenten stattfinden kann:

Eintrag 32 Bit mit .NET 4.8 64 Bit mit .NET 8.0
REWT_bin REWT_bin\bin32\net4.8 REWT_bin\bin64\net8.0-windows
REWT_bin\bin32\net8.0-windows REWT_bin\bin64\net6.0-windows
REWT_bin\bin32\net6.0-windows REWT_bin\bin64\net4.8
REWT_bin\bin32 REWT_bin\bin64
REWT_bin\bin64\net4.8 REWT_bin\bin32\net8.0-windows
REWT_bin\bin64\net8.0-windows REWT_bin\bin32\net6.0-windows
REWT_bin\bin64\net6.0-windows REWT_bin\bin32\net4.8
REWT_bin\bin64 REWT_bin\bin32
REWT_bin\net4.8 REWT_bin\net8.0-windows
REWT_bin\net8.0-windows REWT_bin\net6.0-windows
REWT_bin\net6.0-windows REWT_bin\net4.8
REWT_bin REWT_bin
RFRG_bin RFRG_bin\bin32\net4.8 RFRG_bin\bin64\net8.0-windows
RFRG_bin\bin32\net8.0-windows RFRG_bin\bin64\net6.0-windows
RFRG_bin\bin32\net6.0-windows RFRG_bin\bin64\net4.8
RFRG_bin\bin32 RFRG_bin\bin64
RFRG_bin\bin64\net4.8 RFRG_bin\bin32\net8.0-windows
RFRG_bin\bin64\net8.0-windows RFRG_bin\bin32\net6.0-windows
RFRG_bin\bin64\net6.0-windows RFRG_bin\bin32\net4.8
RFRG_bin\bin64 RFRG_bin\bin32
RFRG_bin\net4.8 RFRG_bin\net8.0-windows
RFRG_bin\net8.0-windows RFRG_bin\net6.0-windows
RFRG_bin\net6.0-windows RFRG_bin\net4.8
RFRG_bin RFRG_bin

Syntax

Der ComponentPath kann (jeweils als Zeichenfolg)- angegeben werden

  • allgemein unter dem Schlüssel Config: hier stehen i.d.R. die Pfade für Systemkomponenten, z.B. TAA-Dienste.
  • und anwendungsspezifisch unter Appl\<Anwendung>: hier stehen die Pfade, unter denen die Anwendungskomponenten zu finden sind.

Die Syntax der Pfadangabe ist wie unter Windows: Mehrere Pfade können angegeben werden und sind durch Semikolon zu trennen.

Wenn unter beiden Schlüsseln ein ComponentPath angegeben ist, so wird der Suchpfad daraus zusammengesetzt: Erst wird in den anwendungsspezifischen Pfaden gesucht, danach in den allgemeingültigen. Dabei werden auch die Anwendungen berücksichtigt, die unter AddOnApps angegeben sind.

Beispiel:

  • Config : Componentpath → c:\taa\bin; c:\bin
  • Appl\<Anwendung>: Componentpath → d:\vtrieb\bin
  • AddOnApps: „Aarch, AllgK“ → Pfade für Aarch: e:\aarch\bin; e:\aarch\old\bin; * Pfade für AllgK: e:\allgk\bin; e:\allgk\old\bin; ergibt den Suchpfad → d:\vtrieb\bin; e:\aarch\bin; e:\aarch\old\bin; und Allgk >; e:\allgk\bin; e:\allgk\old\bin; c:\taa\bin; c:\bin

Sobald eine neue Anwendung aktiviert wird, wird der Suchpfad entsprechend angepasst.

Hinweis: Wenn weder unter Config noch unter Appl\<Anwendung> ein Pfad angegeben ist, gilt der Standard-Windows-Suchpfad (vgl. C-Funktion SearchPath):

  1. Verzeichnis, aus dem die Anwendung gestartet wurde
  2. Aktuelles Verzeichnis („.“)
  3. Windows System-Verzeichnis
  4. Windows-Verzeichnis
  5. Suchpfad lt. PATH-Variable

1) bis R26
2) ab R26
registry:compp · Zuletzt geändert: 15.05.2025 10:00

Copyright © 1992-2025 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum