Compartilhar via


Interface IAppPublisher (shappmgr.h)

Expõe métodos para publicação de aplicativos por meio de Adicionar/Remover Programas em Painel de Controle. Essa é a interface principal implementada para essa finalidade.

Herança

A interface IAppPublisher herda da interface IUnknown . O IAppPublisher também tem esses tipos de membros:

Métodos

A interface IAppPublisher tem esses métodos.

 
IAppPublisher::EnumApps

Cria um enumerador para enumerar todos os aplicativos publicados por um editor de aplicativos para uma determinada categoria.
IAppPublisher::GetCategories

Recupera uma estrutura listando as categorias fornecidas por um editor de aplicativos.
IAppPublisher::GetNumberOfApps

Obsoleto. Os clientes de Adicionar/Remover Programas Painel de Controle Aplicativo podem retornar E_NOTIMPL.
IAppPublisher::GetNumberOfCategories

Obsoleto. Os clientes do aplicativo Adicionar/Remover Programas Painel de Controle podem retornar E_NOTIMPL.

Comentários

Adicionar/remover programas em Painel de Controle cria um objeto publicador registrado e solicita sua interface IAppPublisher. Você pode criar objetos de aplicativo publicados usando o enumerador de aplicativo, que você cria usando IAppPublisher.

Adicionar/Remover Programas reúne uma lista de aplicativos publicados de editores e, em seguida, usa um editor para exibir esses aplicativos com o Microsoft Active Directory. Quando o usuário clica em Adicionar Novos Programas em Adicionar/Remover Programas, uma lista de aplicativos publicados é exibida.

Você pode publicar aplicativos em Adicionar/Remover Programas usando as seguintes interfaces COM (Component Object Model).

Ao implementar essas interfaces, você deve registrar seu objeto COM no Registro. Para registrar o publicador, adicione o CLSID (identificador de classe) do objeto sob a seguinte chave do Registro.
HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               AppManagement
                  Publishers

Por exemplo, se o editor for chamado de "Meu Publicador", você criará uma nova chave em "Publishers" denominada "Meu Publicador" com seu valor padrão REG_SZ como CLSID do editor:

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               AppManagement
                  Publishers
                     My Publisher
                        (Default) = {4D05CD3D-FFED-46bb-B9F1-321C26BE6362}

Você também pode criar as entradas típicas de registro do servidor COM da seguinte maneira:

HKEY_CLASSES_ROOT
   CLSID
      {469EE8CE-1B86-4524-9042-AAA44FD9C8F2}
         (Default) = Sample Applications Publisher
         InProcServer32
            (Default) = pubdemo.dll
            ThreadingModel = Apartment

Com o editor registrado dessa forma, Adicionar/Remover Programas cria uma instância do objeto chamando CoCreateInstance para seu objeto e solicitando a interface IAppPublisher apropriada quando a exibição Adicionar Novos Programas é preenchida. Usando IAppPublisher, Add/Remove Programs recupera o enumerador de aplicativo (IEnumPublishedApps) e informações que descrevem os aplicativos publicados. Sua implementação do IPublishedApp é responsável por instalar o aplicativo associado em seu método IPublishedApp::Install . Adicionar/Remover Programas chama esse método quando o usuário clica no botão Adicionar ou Adicionar Posterior na interface do usuário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shappmgr.h

Confira também

IEnumPublishedApps

IPublishedApp