IAppPublisher 介面 (shappmgr.h)
透過 控制台中的新增/移除程式公開發行應用程式的方法。 這是針對此目的實作的主體介面。
繼承
IAppPublisher 介面繼承自 IUnknown 介面。 IAppPublisher 也有下列類型的成員:
方法
IAppPublisher 介面具有這些方法。
IAppPublisher::EnumApps 建立列舉值,以列舉由應用程式發行者針對指定類別發行的所有應用程式。 |
IAppPublisher::GetCategories 擷取結構,列出應用程式發行者所提供的類別。 |
IAppPublisher::GetNumberOfApps 已過時。 新增/移除程式 控制台 應用程式的用戶端可以傳回E_NOTIMPL。 |
IAppPublisher::GetNumberOfCategories 已過時。 新增/移除程式 控制台 應用程式的用戶端可能會傳回E_NOTIMPL。 |
備註
在 控制台 中新增/移除程式會建立已註冊的發行者物件,並要求其IAppPublisher 介面。 您可以使用使用 IAppPublisher 建立的應用程式列舉值來建立已發佈的應用程式物件。
新增/移除程式 會從發行者收集已發佈的應用程式清單,然後使用發行者向 Microsoft Active Directory 顯示這些應用程式。 當使用者按兩下 [新增/移除程式] 中的 [新增程式] 時,就會顯示已發佈的應用程式清單。
您可以使用下列元件物件模型 (COM) 介面,在 [新增/移除程式 ] 中發佈應用程式。
- IAppPublisher
- IEnumPublishedApps
- IPublishedApp
HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion AppManagement Publishers
例如,如果您的發行者名為 「My Publisher」,您會在名為 「My Publisher」 的 “Publishers” 下建立新的密鑰,其預設REG_SZ值做為發行者的 CLSID:
HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion AppManagement Publishers My Publisher (Default) = {4D05CD3D-FFED-46bb-B9F1-321C26BE6362}
您也可以建立典型的 COM 伺服器註冊專案,如下所示:
HKEY_CLASSES_ROOT CLSID {469EE8CE-1B86-4524-9042-AAA44FD9C8F2} (Default) = Sample Applications Publisher InProcServer32 (Default) = pubdemo.dll ThreadingModel = Apartment
以這種方式註冊發行者時,新增/移除程式會呼叫物件的CoCreateInstance來建立對象的實例,並在填入 [新增程式] 檢視時要求適當的 IAppPublisher 介面。 使用 IAppPublisher,新增/移除程式會擷取應用程式列舉值 (IEnumPublishedApps) ,以及描述已發佈應用程式的資訊。 IPublishedApp 的實作負責在其 IPublishedApp::Install 方法中安裝相關聯的應用程式。 當使用者按兩下使用者介面中的 [ 新增 ] 或 [ 新增稍後] 按鈕時,新增/移除程式會呼叫此方法。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP、Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shappmgr.h |