Поделиться через


Интерфейс 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

Например, если издатель называется "Мой издатель", в разделе "Издатели" создается новый ключ с именем "Мой издатель" со значением по умолчанию 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 Профессиональная [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shappmgr.h

См. также раздел

IEnumPublishedApps

IPublishedApp