AppID 金鑰

將一或多個 DCOM 物件的組態選項分組到登錄中的一個集中式位置。 由相同可執行檔裝載的 DCOM 物件會分組成一個 AppID,以簡化一般安全性和組態設定的管理。

登錄機碼

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}

登錄值 描述
AccessPermission 描述可存取此類別實例的主體 存取控制 清單 (ACL)。 此 ACL 僅供未呼叫 CoInitializeSecurity 的應用程式使用。
ActivateAt 儲存體 設定用戶端,將物件具現化在與其所使用的持續性狀態相同的計算機上,或從中初始化物件。
AppID 識別對應至具名可執行檔的AppID GUID。
AppIDFlags 設定將設定為以「互動式使用者」身分執行的 COM 伺服器,將在非預設桌面中由客戶端啟動或系結。
AuthenticationLevel 針對未呼叫 CoInitializeSecurity 的應用程式,或針對呼叫 CoInitializeSecurity 的應用程式設定驗證層級,並指定 AppID。
DllSurrogate 可讓 DLL 伺服器在代理程式中執行。 如果指定空字串,則會使用系統提供的 Surrogate;否則,值會指定要使用之 Surrogate 的路徑。
DllSurrogateExecutable 可讓 DLL 伺服器搭配 DllSurrogate 登錄值,在自定義代理程式中執行。
端點 設定 COM 應用程式以使用指定的 TCP 通訊埠號碼進行 DCOM 通訊。
LaunchPermission 描述主體的 存取控制 清單(ACL),這些主體可以啟動這個類別的新伺服器。
LoadUser 設定 判斷 COM 是否會載入執行為啟動使用者應用程式身分識別之 COM 伺服器的使用者配置檔。
LocalService 安裝物件即服務應用程式。
PreferredServerBitness 設定此 COM 伺服器的慣用架構 32 位或 64 位。
RemoteServerName 設定用戶端在未指定 COSERVERINFO 結構的啟用函式時,要求在特定電腦上執行物件。
ROTFlags 控制執行中對象數據表中 COM 伺服器的註冊(ROT)。
RunAs 當遠端用戶端啟動而不撰寫為服務應用程式時,將類別設定為在特定使用者帳戶下執行。
ServiceParameters 指定要透過 LocalService 登錄值傳遞至 COM所安裝之物件的命令行參數。
SRPTrustLevel 設定應用程式的軟體限制原則 (SRP) 信任等級。

 

備註

AppID 會使用兩種不同的機制對應至可執行檔和類別:

  • 使用識別AppID金鑰的128位全域唯一標識碼 (GUID)。 類別會指出其在具名值 「AppID」 中 CLSID 索引鍵底下的對應 AppID 。 此對應會在啟用期間使用。
  • 使用指出可執行檔名稱的具名值(例如 “MYOLDAPP.EXE”。 這個具名值的類型 為 REG_SZ ,且包含與可執行文件相關聯的 AppID 字串表示。 此對應是用來取得預設訪問許可權和驗證層級。

HKEY_LOCAL_MACHINE\SOFTWARE\Classes 索引鍵會對應至HKEY_CLASSES_ROOT密鑰,此密鑰會保留以便與舊版 COM 相容。

針對 COM 伺服器,對應通常會在註冊程式期間或執行dcomcnfg.exe時產生並寫入登錄。 不過,想要使用AppID機碼設定安全性的 COM 客戶端必須建立適當的登錄機碼,並藉由呼叫登錄函式或使用Regedit.exe來指定必要的對應。 然後,您可以為客戶端設定 AccessPermission AuthenticationLevel值。 例如,假設用戶端程式的可執行檔名稱為 「YourClient.exe」,而您想要將驗證層級設定為 「None」。 您可以使用Guidgen.exe或Uuidgen.exe來建立可執行檔的 AppID GUID。 然後,您會在登錄中設定值,如下列範例所示,其中00000001代表 “None” 的驗證層級:

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