Partilhar via


Distribuindo um componente de do Tempo de Execução do Windows gerenciado

Você pode distribuir seu componente do Tempo de Execução do Windows por cópia de arquivo. No entanto, se o seu componente consistir em muitos arquivos, a instalação poderá ser tediosa para seus usuários. Além disso, erros no posicionamento de arquivos ou não definir referências podem causar problemas para eles. Você pode empacotar um componente complexo como um SDK de extensão do Visual Studio, para facilitar a instalação e o uso. Os usuários precisam apenas definir uma referência para o pacote inteiro. Eles podem facilmente localizar e instalar seu componente usando a caixa de diálogo Extensões e Atualizações, conforme descrito em Instalar e gerenciar ferramentas e extensões do Visual Studio, na Biblioteca MSDN.

Planejando um componente de distribuição do Tempo de Execução do Windows

Escolha nomes exclusivos para arquivos binários, como seus arquivos .winmd. É recomendável usar o seguinte formato para garantir a exclusividade:

company.product.purpose.extension
Por exemplo: Microsoft.Cpp.Build.dll

Seus arquivos binários serão instalados em pacotes de aplicativos, possivelmente com arquivos binários de outros desenvolvedores. Consulte "SDKs de Extensão" em Como: criar um kit de desenvolvimento de software, na Biblioteca MSDN.

Para decidir como distribuir um componente, considere a sua complexidade. É recomendável usar um SDK de extensão ou um gerenciador de pacotes similar quando:

  • O componente consiste em vários arquivos.

  • Você fornece versões do componente para várias plataformas (x86 e ARM, por exemplo).

  • Você fornece as versões de depuração e de lançamento do componente.

  • O componente tem arquivos e assemblies que são usados somente no tempo de design.

Um SDK de extensão é particularmente útil diante de mais de uma das situações anteriores.

Dica

Para componentes complexos, o sistema de gerenciamento de pacotes NuGet oferece uma alternativa de código aberto para SDKs de extensão. Como os SDKs de extensão, o NuGet permite que você crie pacotes que simplifiquem a instalação de componentes complexos. Para ver uma comparação entre pacotes NuGet e SDKs de extensão do Visual Studio, consulte Adicionando referências usando o NuGet em comparação com um SDK de extensão, na Biblioteca MSDN.

Distribuição por cópia de arquivo

Se o componente consistir em um único arquivo .winmd ou em um arquivo .winmd e um arquivo de índice de recursos (.pri), você poderá simplesmente disponibilizar o arquivo .winmd para os usuários copiarem. Os usuários podem colocar o arquivo onde desejarem em um projeto. Use a caixa de diálogo Adicionar Item Existente para adicionar o arquivo .winmd ao projeto e use a caixa de diálogo Gerenciador de Referências para criar uma referência. Se você incluir um arquivo .pri ou um arquivo .xml, instrua os usuários a colocar esses arquivos junto com o arquivo .winmd.

Dica

O Visual Studio 2012 sempre gera um arquivo .pri quando você cria seu componente do Tempo de Execução do Windows, mesmo que seu projeto não inclua recursos. Caso tenha um aplicativo de teste para o componente, você poderá determinar se o arquivo .pri será usado ao examinar o conteúdo do pacote de aplicativos na pasta bin\debug\AppX. Se o arquivo .pri do componente não aparecer nessa pasta, não será necessário distribuí-lo. Como alternativa, você pode usar a ferramenta MakePRI.exe para despejar o arquivo de recursos de seu projeto do componente do Tempo de Execução do Windows. Por exemplo, na janela Prompt de Comando do Visual Studio, digite:

makepri dump /if MyComponent.pri /of MyComponent.pri.xml

Você pode ler mais sobre arquivos .pri em Sistema de Gerenciamento de Recursos (Windows).

Distribuição por SDK de extensão

Um componente complexo geralmente inclui recursos do Windows, mas considere a nota sobre como detectar arquivos .pri vazios na seção anterior.

Para criar um SDK de extensão

  1. Verifique se você tem o SDL do Visual Studio 2012 instalado. Você pode baixar o SDK do Visual Studio da página Downloads do Visual Studio.

  2. Crie um novo projeto usando o modelo Projeto VSIX. Você pode localizar o modelo em Visual C# ou Visual Basic, na categoria Extensibilidade. Esse modelo é instalado como parte do SDL do Visual Studio 2012. (Passo a passo: criando um SDK usando C# ou Visual Basic, na Biblioteca MSDN, demonstra o uso desse modelo em um cenário muito simples. )

  3. Determine a estrutura de pastas para o SDK. A estrutura de pastas começa na raiz do projeto VSIX, com as pastas References, Redist e DesignTime.

    • A pasta References é o local para os arquivos binários em que os usuários podem fazer programações. O SDK de extensão cria referências para esses arquivos em projetos do Visual Studio dos usuários.

    • A pasta Redist é o local para outros arquivos que devem ser distribuídos com seus arquivos binários, em aplicativos criados com o uso do seu componente.

    • A pasta DesignTime é o local para os arquivos que são usados somente quando os desenvolvedores estão criando aplicativos que usam o seu componente.

    Em cada uma dessas pastas, você pode criar pastas de configuração. Os nomes permitidos são debug, retail e CommonConfiguration. A pasta CommonConfiguration é designada para arquivos que são iguais se forem usados pela compilação retail ou debug. Se você estiver distribuindo apenas compilações retail do seu componente, você poderá colocar tudo em CommonConfiguration e omitir as outras duas pastas.

    Em cada pasta de configuração, você pode fornecer pastas de arquitetura para arquivos específicos da plataforma. Se você usar os mesmos arquivos para todas as plataformas, você poderá fornecer uma única pasta chamada neutral. Você pode localizar os detalhes da estrutura de pasta, incluindo outros nomes de pasta da arquitetura em Como: criar um kit de desenvolvimento de software, na Biblioteca MSDN. (Como: criar um kit de desenvolvimento de software aborda os SDKs da plataforma e de extensão. Você pode achar útil recolher a seção sobre SDKs de plataforma, para evitar confusão. )

  4. Crie um arquivo de manifesto SDK. O manifesto especifica as informações de nome e de versão, as arquiteturas compatíveis com o SDK, as versões do .NET Framework e outras informações sobre a maneira como o Visual Studio usa o SDK. Você pode localizar os detalhes e um exemplo em Como: criar um kit de desenvolvimento de software.

  5. Crie e distribua o SDK de extensão. Para obter informações detalhadas, incluindo informações sobre a localização e assinatura do pacote VSIX, consulte Implantação do VSIX, na Biblioteca MSDN.

Consulte também

Outros recursos

Como: criar um kit de desenvolvimento de software

Sistema de gerenciamento de pacotes NuGet

Sistema de Gerenciamento de Recursos (Windows)

Instalar e gerenciar ferramentas e extensões do Visual Studio

Ferramenta MakePRI.exe