AppID-Schlüssel

Gruppiert die Konfigurationsoptionen für mindestens ein DCOM-Objekt 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 von dem aus sie initialisiert werden.
Appid Gibt die AppID-GUID an, 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 daran gebunden wird.
Authenticationlevel Legt die Authentifizierungsebene für Anwendungen fest, die CoInitializeSecurity nicht aufrufen, oder für Anwendungen, die CoInitializeSecurity aufrufen und eine AppID angeben.
DllSurrogate Ermöglicht die Ausführung von DLL-Servern in einem Ersatzprozess. Wenn eine leere Zeichenfolge angegeben wird, wird das vom System bereitgestellte Ersatz verwendet. Andernfalls gibt der Wert den Pfad des zu verwendenden Ersatzes an.
DllSurrogateExecutable Ermöglicht dll-Servern die Ausführung in einem benutzerdefinierten Ersatzprozess in Verbindung mit dem Registrierungswert DllSurrogate .
Endpunkte Konfiguriert eine COM-Anwendung für die Verwendung einer angegebenen TCP-Portnummer für die DCOM-Kommunikation.
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 eine Objekt-as-a-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 werden soll, wenn eine Aktivierungsfunktion aufgerufen wird, für die keine COSERVERINFO-Struktur angegeben ist.
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 zur Verwendung durch COM über den Registrierungswert LocalService installiert ist.
SRPTrustLevel Legt die Sicherheitsstufe der Softwareeinschränkungsrichtlinie (Software Restriction Policy, SRP) für Anwendungen fest.

 

Bemerkungen

AppIDs werden ausführbaren Dateien und Klassen mit zwei verschiedenen Mechanismen zugeordnet:

  • Verwenden einer 128-Bit-GUID (Globally Unique Identifier), die 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 aus Gründen der Kompatibilität mit früheren COM-Versionen beibehalten wurde.

Bei COM-Servern wird die Zuordnung normalerweise während des Registrierungsprozesses oder beim Ausführen dcomcnfg.exe generiert und in die Registrierung geschrieben. COM-Clients, die die Sicherheit mithilfe des AppID-Schlüssels festlegen möchten, müssen jedoch entsprechende Registrierungsschlüssel erstellen und die erforderliche Zuordnung angeben, indem sie die Registrierungsfunktionen aufrufen oder Regedit.exe verwenden. Dann können Werte wie AccessPermission oder AuthenticationLevel für den Client festgelegt werden. Angenommen, der Name Ihrer ausführbaren Datei für Ihren 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 darstellt. Dann 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}