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) 介面,在 [新增/移除程式 ] 中發佈應用程式。

當您實作這些介面時,您必須在登錄中註冊 COM 物件。 若要註冊發行者,請在下列登錄機碼底下,將對象的類別標識碼 (CLSID) 。
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

另請參閱

IEnumPublishedApps

IPublishedApp