Freigeben über


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 Zugriffssteuerungsliste (Access Control List, ACL) der Prinzipale, die auf Instanzen dieser Klasse zugreifen können. Diese ACL wird nur von Anwendungen verwendet, die nicht CoInitializeSecurityaufrufen.
ActivateAtStorage- Konfiguriert den Client so, dass Objekte auf demselben Computer instanziiert werden wie der permanente 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 nicht CoInitializeSecurity- oder für Anwendungen aufrufen, 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 Ersatzs an.
DllSurrogateExecutable Ermöglicht DLL-Servern die Ausführung in einem benutzerdefinierten Ersatzprozess in Verbindung mit dem DllSurrogate Registrierungswert.
Endpunkte Konfiguriert eine COM-Anwendung für die Verwendung einer angegebenen TCP-Portnummer für DCOM-Kommunikation.
LaunchPermission- Beschreibt die Zugriffssteuerungsliste (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 für die Ausführung unter einem bestimmten Benutzerkonto, 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 Registrierungswert LocalService verwendet werden soll.
SRPTrustLevel- Legt die Vertrauensebene der Softwareeinschränkungsrichtlinie (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 die AppID- Schlüssel identifiziert. Eine Klasse gibt ihre 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 Authentifizierungsstufe abzurufen.

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

Bei COM-Servern wird die Zuordnung in der Regel während des Registrierungsprozesses generiert und in die Registrierung geschrieben, oder wenn dcomcnfg.exeausgeführt wird. 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.exeverwenden. Anschließend können Werte wie AccessPermission- oder AuthenticationLevel- für den Client festgelegt werden. Angenommen, der Name der ausführbaren Datei für Ihren Clientprozess lautet "YourClient.exe" und Sie möchten die Authentifizierungsstufe auf "Keine" 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 Authentifizierungsstufe von "None" darstellt:

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