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 CoInitializeSecuritynicht aufrufen. |
| ActivateAtStorage | Konfiguriert den Client zum Instanziieren von Objekten auf demselben Computer wie der persistente Zustand, den sie verwenden oder von 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 auf einem nicht standardmäßigen Desktop gestartet oder 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 Ersatzzeichen verwendet. Andernfalls gibt der Wert den Pfad des zu verwendenden Ersatzzeichens an. |
| DllSurrogateExecutable | Ermöglicht die Ausführung von DLL-Servern 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 die DCOM-Kommunikation. |
| LaunchPermission | Beschreibt die Access Control Liste (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 startende 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 angefordert wird, dass das Objekt auf einem bestimmten Computer ausgeführt wird, 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 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 zur Verwendung durch COM über den LocalService-Registrierungswert installiert wird. |
| SRPTrustLevel | Legt die Vertrauensebene der Softwareeinschränkungsrichtlinie (Software Restriction Policy, SRP) für Anwendungen fest. |
Hinweise
AppIDs werden ausführbaren Dateien und Klassen mithilfe von zwei verschiedenen Mechanismen zugeordnet:
- Verwenden eines 128-Bit-GUID (Globally Unique Identifier), 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 Schlüssel HKEY _ LOCAL MACHINE _ SOFTWARE \ \ Classes entspricht dem _ HKEY CLASSES _ ROOT-Schlüssel, der aus Kompatibilitätsgründen mit früheren Versionen von COM beibehalten wurde.
Bei COM-Servern wird die Zuordnung in der Regel während des Registrierungsprozesses oder beim Ausführen von dcomcnfg.exe generiert und 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 Ihren Clientprozess lautet "YourClient.exe", und Sie möchten die Authentifizierungsebene auf "None" festlegen. Sie verwenden Guidgen.exe oder Uuidgen.exe, um die GUID zu erstellen, die die AppID für Ihre ausführbare Datei ist. Anschließend legen Sie Werte in der Registrierung fest, 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}