AppID-Schlüssel

Gruppiert die Konfigurationsoptionen für ein oder mehrere DCOM-Objekte an einem zentralen Speicherort in der Registrierung. DCOM-Objekte, die von derselben ausführbaren Datei gehostet werden, werden in einer AppID gruppiert, um die Verwaltung allgemeiner Sicherheits- und Konfigurationseinstellungen zu vereinfachen.

Registrierungsschlüssel

\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID{AppID_GUID}

Registrierungswert BESCHREIBUNG
AccessPermission Beschreibt die Access Control List (ACL) der Prinzipale, die auf Instanzen dieser Klasse zugreifen können. Diese ACL wird nur von Anwendungen verwendet, die coInitializeSecurity nicht aufrufen.
ActivateAtStorage Konfiguriert den Client so, dass Objekte auf demselben Computer instanziiert werden wie der persistente Zustand, den sie verwenden oder aus dem sie initialisiert werden.
Appid Identifiziert die AppID-GUID, die der benannten ausführbaren Datei entspricht.
AppIDFlags Konfiguriert, wie ein COM-Server, der für die Ausführung als "Interaktiver Benutzer" konfiguriert ist, von einem Client in einem nicht standardmäßigen Desktop gestartet oder gebunden wird.
Authenticationlevel Legt die Authentifizierungsebene für Anwendungen fest, die keine CoInitializeSecurity oder für Anwendungen aufrufen, die CoInitializeSecurity aufrufen und eine AppID angeben.
DllSurrogate Ermöglicht die Ausführung von DLL-Servern in einem Surrogate-Prozess. Wenn eine leere Zeichenfolge angegeben wird, wird das vom System bereitgestellte Surrogate verwendet; andernfalls gibt der Wert den Pfad des zu verwendenden Surrogates an.
DllSurrogateExecutable Ermöglicht DLL-Servern die Ausführung in einem benutzerdefinierten Surrogate-Prozess in Verbindung mit dem DllSurrogate-Registrierungswert .
Endpunkte Konfiguriert eine COM-Anwendung, um eine angegebene TCP-Portnummer für DCOM-Kommunikation zu verwenden.
LaunchPermission Beschreibt die Access Control List (ACL) der Prinzipale, die neue Server für diese Klasse starten können.
LoadUserSettings Bestimmt, ob COM das Benutzerprofil für COM-Server lädt, die als Starten der Benutzeranwendungsidentität ausgeführt werden.
LocalService Installiert ein Objekt als Dienstanwendung.
PreferredServerBitness Legt die bevorzugte Architektur, 32-Bit oder 64-Bit für diesen COM-Server fest.
RemoteServerName Konfiguriert den Client so, dass das Objekt auf einem bestimmten Computer ausgeführt wird, wenn eine Aktivierungsfunktion aufgerufen wird, für die keine COSERVERINFO-Struktur angegeben wird.
ROTFlags Steuert die Registrierung eines COM-Servers in der ausgeführten Objekttabelle (ROT).
Runas Konfiguriert eine Klasse, die unter einem bestimmten Benutzerkonto ausgeführt wird, wenn sie von einem Remoteclient aktiviert wird, ohne als Dienstanwendung geschrieben zu werden.
ServiceParameters Gibt die Befehlszeilenparameter an, die an ein Objekt übergeben werden sollen, das von COM über den LocalService-Registrierungswert installiert wird.
SRPTrustLevel Legt die Vertrauensstufe der Softwareeinschränkungsrichtlinie (SRP) für Anwendungen fest.

 

Hinweise

AppIDs werden ausführbaren Dateien und Klassen zugeordnet, die zwei verschiedene Mechanismen verwenden:

  • Verwenden sie einen 128-Bit-Globally Unique Identifier (GUID), der den AppID-Schlüssel identifiziert. Eine Klasse gibt die entsprechende AppID unter dem CLSID-Schlüssel in einem benannten Wert "AppID" an. Diese Zuordnung wird während der Aktivierung verwendet.
  • Verwenden eines benannten Werts, der einen ausführbaren Namen angibt (z. B. "MYOLDAPP.EXE"). Dieser benannte Wert ist vom Typ REG_SZ und enthält die Zeichenfolgendarstellung der AppID, die der ausführbaren Datei zugeordnet ist. Diese Zuordnung wird verwendet, um die Standardzugriffsberechtigungen und die Authentifizierungsebene abzurufen.

Der HKEY_LOCAL_MACHINE\SOFTWARE\Classes Schlüssel entspricht dem HKEY_CLASSES_ROOT Schlüssel, der für die Kompatibilität mit früheren Versionen von COM beibehalten wurde.

Bei COM-Servern wird die Zuordnung normalerweise während des Registrierungsvorgangs oder beim Ausführen dcomcnfg.exe in die Registrierung in die Registrierung geschrieben. COM-Clients, die die Sicherheit mithilfe des AppID-Schlüssels festlegen möchten, müssen jedoch geeignete Registrierungsschlüssel erstellen und die erforderliche Zuordnung angeben, indem Sie die Registrierungsfunktionen aufrufen oder Regedit.exe verwenden. Anschließend können Werte wie AccessPermission oder AuthenticationLevel für den Client festgelegt werden. Angenommen, der Name Ihrer ausführbaren Datei für Den Clientprozess lautet "YourClient.exe", und Sie möchten die Authentifizierungsebene auf "None" festlegen. Sie würden Guidgen.exe oder Uuidgen.exe verwenden, um die GUID zu erstellen, die die AppID für Ihre ausführbare Datei ist. Anschließend würden Sie Werte in der Registrierung festlegen, wie im folgenden Beispiel gezeigt, wobei 00000001 eine Authentifizierungsebene von "None" darstellt:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {MyGuid}
      AuthenticationLevel = 00000001
   MyClient.exe
      AppID = {MyGUID}