Compartilhar via


Passo a passo: Implantando várias soluções do Office em um único instalador de ClickOnce

Você pode implantar várias soluções do Office em um único conjunto para simplificar a instalação e o processo de atualização. Isso requer que você modifique e novamente assinar os manifestos de aplicativo e implantação após publicar e antes de instalação.

Aplica-se a: As informações neste tópico se aplicam a projetos em níveis de documento e aplicativo para a Visualização do Microsoft Office 2013 e o Microsoft Office 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Essa explicação passo a passo mostra as seguintes tarefas:

  • Criando várias soluções do Office.

  • Alterar o manifesto do aplicativo.

  • a assinatura de manifestos.

Dica

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.

Pré-requisitos

Para completar este passo-a-passo, são necessários os seguintes componentes:

-

Uma edição do Visual Studio 2012 que inclui o Microsoft Office Developer Tools. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](https://msdn.microsoft.com/pt-br/library/bb398242\(v=vs.110\)).
  • Word 2013 Preview

  • Outlook 2013 Preview

  • Excel 2013 Preview

  • Word 2010

  • Outlook 2010

  • Excel 2010

  • Um computador de teste.

Criando várias soluções do Office

Inicie criando três projetos do Office, um de que funciona como o instalador. Os outros dois serão implantados no computador do usuário final.

Para criar e desenvolver novos projetos de palavras, o Outlook, e o excel

  1. Crie um projeto da nível de palavras. Nomeie o projeto ContosoInstaller, e salvar o projeto para o diretório de %USERPROFILE% \ documents \ Visual Studio 2012 \ projects .

    o projeto de ContosoInstaller será usado como o instalador. Para obter mais informações, consulte Como: criar projetos do Office em Visual Studio.

  2. Em a solução de ContosoInstaller , adicione um projeto no nível do Outlook com o nome ContosoOutlookAddIn, e adicione o código ao projeto do Outlook.

  3. Em a solução de ContosoInstaller , adicione um projeto da nível do excel com o nome ContosoExcelWorkbook, e adicione o código ao projeto do excel.

Publicando soluções do Office

Use Assistente de Publicação ou Página do Projeto de Designer de Projeto para publicar as soluções do Office para o computador de desenvolvimento.

Para publicar projetos de palavras, o Outlook, e o excel

  1. Publicar o projeto de ContosoInstaller para a pasta de c:\publish . Para obter mais informações, consulte Como: publica uma solução do Office, usando o ClickOnce.

  2. Publicar o projeto de ContosoOutlookAddIn para a pasta de c:\publish .

  3. Publicar o projeto de ContosoExcelWorkbook para a pasta de c:\publish .

Alterar o manifesto do aplicativo

Use o editor XML no Visual Studio para adicionar dependências de instalação, arquivos, pontos de entrada, e assemblies no manifesto do aplicativo. O conteúdo de um manifesto de aplicativo é semelhante a uma conta de materiais, que lista os conteúdo de uma caixa; um manifesto de aplicativo lista todos os assemblies dependentes e necessários, bem como arquivos necessários pelo aplicativo. O manifesto do aplicativo para uma solução do Office também lista os assemblies que devem ser carregados por um aplicativo do Office para personalizações de suplementos e da nível de aplicativo.

Dd465290.collapse_all(pt-br,VS.110).gifAdicionando as dependências de instalação

Modifique o manifesto do aplicativo para instalar conjuntos de ContosoOutlookAddin e de ContosoExcelWorkbook , e remover referências ao conjunto de ContosoInstaller .

para adicionar a instalação as dependências ao aplicativo manifestam

  1. De a pasta de arquivos c:\publish\Application , mover o conteúdo dos diretórios de ContosoOutlookAddIn_1_0_0_0 e de ContosoExcelWorkbook_1_0_0_0 para o diretório de ContosoInstaller_1_0_0_0 .

  2. Abrir arquivos de ContosoInstaller.dll.manifest, de ContosoOutlookAddIn.dll.manifest, e de ContosoExcelWorkbook.dll.manifest em um editor XML.

  3. O arquivo de ContosoOutlookAddIn.dll.manifest , copie qualquer instalação e faça as dependências que incluem ContosoOutlookAddIn.dll. Isto é, copie todas as dependências que começam com <dependentAssembly dependencyType="install" ou <file name="app.config">. Seu código deve se parecer com o seguinte: somente o elemento de <dsig:DigestValue> irá.

      <dependency>
        <dependentAssembly 
           dependencyType="install"
           allowDelayedBinding="true" 
           codebase="Microsoft.Office.Tools.Common.v4.0.Utilities.dll" 
           size="30816">
          <assemblyIdentity 
            name="Microsoft.Office.Tools.Common.v4.0.Utilities" 
            version="10.0.0.0"
            publicKeyToken="B03F5F7F11D50A3A"
            language="neutral"
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform
                Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod 
              Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>Ki0…</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly
          dependencyType="install"
          allowDelayedBinding="true" 
          codebase="Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll"   
          size="47200">
          <assemblyIdentity 
            name="Microsoft.Office.Tools.Outlook.v4.0.Utilities" 
            version="10.0.0.0"
            publicKeyToken="B03F5F7F11D50A3A"
            language="neutral" 
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform
                Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod 
              Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>050...</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly
          dependencyType="install" 
          allowDelayedBinding="true"
          codebase="ContosoOutlookAddIn.dll"
          size="10240">
          <assemblyIdentity
            name="ContosoOutlookAddIn" 
            version="1.0.0.0" 
            language="neutral" 
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm=
                "urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm=
              "http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>i4e</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <file name="ContosoOutlookAddIn.dll.config" size="77">
        <hash>
          <dsig:Transforms>
            <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
          </dsig:Transforms>
          <dsig:DigestMethod 
             Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
          <dsig:DigestValue>w7W...</dsig:DigestValue>
        </hash>
      </file>
    
  4. Em o arquivo de ContosoInstaller.dll.manifest , cole a dependência de instalação de ContosoOutlookAddIn.dll no final da seção de dependência.

  5. O arquivo de ContosoExcelWorkbook.dll.manifest , copie qualquer instalação e dependências arquivo, incluindo ContosoExcelWorkbook.dll e Microsoft.Office.Tools.Common.v4.0.Utilities.dll. Isto é, copie todas as dependências que começam com <dependentAssembly dependencyType="install" ou <file name="app.config">. Seu código deve se parecer com o seguinte: somente o elemento de <dsig:DigestValue> irá.

      <dependency>
        <dependentAssembly
          dependencyType="install"
          allowDelayedBinding="true"
          codebase="ContosoExcelWorkbook.dll"
          size="12800">
          <assemblyIdentity
            name="ContosoExcelWorkbook" 
            version="1.0.0.0"
            language="neutral"
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm=
                "urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm=
              "http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>i4e</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Microsoft.Office.Tools.Common.v4.0.Utilities.dll" size="30816">
          <assemblyIdentity name="Microsoft.Office.Tools.Common.v4.0.Utilities" version="10.0.0.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>Ki0A9wOpes1YX5NaAvjmUeFSh0g=</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly
          dependencyType="install"
          allowDelayedBinding="true" 
          codebase="Microsoft.Office.Tools.Excel.v4.0.Utilities.dll" 
          size="235104">
          <assemblyIdentity 
            name="Microsoft.Office.Tools.Excel.v4.0.Utilities" 
            version="10.0.0.0"
            publicKeyToken="B03F5F7F11D50A3A"
            language="neutral"
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform
               Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod 
              Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>Te/...</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <file name=" ContosoExcelWorkbook.dll.config" size="77">
        <hash>
          <dsig:Transforms>
            <dsig:Transform
             Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
          </dsig:Transforms>
          <dsig:DigestMethod 
            Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
          <dsig:DigestValue>w7W...</dsig:DigestValue>
        </hash>
      </file>
    
  6. Em o arquivo de ContosoInstaller.dll.manifest , cole as dependências de instalação no final da seção de dependência.

  7. Em o arquivo de ContosoInstaller.dll.manifest , remova dependências de instalação de ContosoInstaller.dll e de Microsoft.Office.Tools.Word.v4.0.Utilities.dll . Também remover todas as dependências duplicados. Por exemplo, você pode ter copiado várias dependências de instalação para Microsoft.Office.Tools.Common.v4.0.Utilities.dll.

    Dica

    Se você estiver implantando uma solução da nível da palavra, deixe Microsoft.Office.Tools.Word.v4.0.Utilities.dll no manifesto final.

Dd465290.collapse_all(pt-br,VS.110).gifadicionando o Entrypoints

Modifique o manifesto do aplicativo para carregar assemblies de ContosoOutlookAddin e de ContosoExcelWorkbook no namespace de <vstav3> .

Para adicionar os entrypoints no namespace vstav3 ao aplicativo manifestam

  1. Em o arquivo de ContosoInstaller.dll.manifest , remova o texto entre <vstav3:entryPointsCollection> e elementos de </vstav3:entryPointsCollection> .

  2. O arquivo de ContosoOutlookAddIn.dll.manifest , copie o texto entre <vstav3:entryPointsCollection> e elementos de </vstav3:entryPointsCollection> . Seu código deve se parecer com o seguinte.

          <vstav3:entryPoints>
            <vstav3:entryPoint
              class="ContosoOutlookAddIn.ThisAddIn">
              <assemblyIdentity
                name="ContosoOutlookAddIn"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
          </vstav3:entryPoints>
    

    Dica

    Se o suplemento ao nível do Outlook usa uma região de formulário, o ponto de entrada do Outlook deve ser o último listado na seção de <vstav3:entryPoints> .

  3. Em o arquivo de ContosoInstaller.dll.manifest , cole o código após o elemento de <vstav3:entryPointsCollection> .

  4. Adicione o atributo de id para o elemento de <vstav3:entryPoints> para diferenciar este ponto de entrada de outro.

          <vstav3:entryPoints id="ContosoOutlook">
    
  5. O arquivo de ContosoExcelWorkbook.dll.manifest , copie o texto entre <vstav3:entryPointsCollection> e elementos de </vstav3:entryPointsCollection> . Seu código deve se parecer com o seguinte código.

          <vstav3:entryPoints>
            <vstav3:entryPoint 
              class="ContosoExcelWorkbook.ThisWorkbook">
              <assemblyIdentity
                name="ContosoExcelWorkbook"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
            <vstav3:entryPoint
               class="ContosoExcelWorkbook.Sheet1">
              <assemblyIdentity
                name="ContosoExcelWorkbook"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
            <vstav3:entryPoint
              class="ContosoExcelWorkbook.Sheet2">
              <assemblyIdentity
                name="ContosoExcelWorkbook"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
            <vstav3:entryPoint
              class="ContosoExcelWorkbook.Sheet3">
              <assemblyIdentity
                name="ContosoExcelWorkbook"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
          </vstav3:entryPoints>
    
  6. Em o arquivo de ContosoInstaller.dll.manifest , cole o código após o elemento de <vstav3:entryPointsCollection> .

  7. Adicione o atributo de id para o elemento de <vstav3:entryPoints> para diferenciar este ponto de entrada de outros pontos de entrada.

          <vstav3:entryPoints id="ContosoExcel">
    

Dd465290.collapse_all(pt-br,VS.110).gifAdicionando assemblies

Modifique o manifesto do aplicativo para carregar assemblies de ContosoOutlookAddin e de ContosoExcelWorkbook no namespace de <vstov4> .

Para adicionar conjuntos para o namespace vstov4 no aplicativo manifestam

  1. Em o arquivo de ContosoInstaller.dll.manifest , remova qualquer texto entre <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> e elementos de </vstov4:customizations> .

  2. Em o arquivo de ContosoOutlookAddIn.dll.manifest , copie o texto entre <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> e elementos de </vstov4:customizations> . Seu código deve parecer como a seguir.

            <vstov4:customization>
              <vstov4:appAddIn
                application="Outlook"
                loadBehavior="3"
                keyName="ContosoOutlookAddIn">
                <vstov4:friendlyName>
                  ContosoOutlookAddIn
                </vstov4:friendlyName>
                <vstov4:description>
                  ContosoOutlookAddIn - Outlook add-in created with
                  Visual Studio Tools for Office
                </vstov4:description>
              </vstov4:appAddIn>
            </vstov4:customization>
    
  3. Em o arquivo de ContosoInstaller.dll.manifest , cole o código após o elemento de <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> .

  4. Adicione o atributo de id para o elemento de <vstav3:customization> para diferenciar esta personalização de outro. Esta identificação é a mesma que ele foi adicionada ao elemento de <vstav3:entryPoints> no procedimento anterior.

            <vstov4:customization id="ContosoOutlook">
    
  5. O arquivo de ContosoExcelWorkbook.dll.manifest , copie o texto entre <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> e elementos de </vstov4:customizations> . O código a seguir é semelhante ao que você precisa procurar: somente o elemento de <solutionId> irá.

            <vstov4:customization>
              <vstov4:document
                solutionId="73e" />
            </vstov4:customization>
    
  6. Em o arquivo de ContosoInstaller.dll.manifest , cole o código após o elemento de <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> .

  7. Adicione o atributo de id para o elemento de <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> para diferenciar esta personalização de outro. Esta identificação é a mesma que ele foi adicionada ao elemento de <vstav3:entryPoints> no procedimento anterior.

            <vstov4:customization id="ContosoExcel">
    

Alterando a Nível do projeto

Para qualquer nível a projetos em uma implantação de multiprojeto, você deve acrescentar a identificação à propriedade do documento personalizado de _AssemblyLocation . Esta seção demonstra como atualizar a propriedade de _AssemblyLocation no arquivo de ContosoExcelWorkbook.xlsx, e esta etapa deve ser repetida para todos os projetos da nível.

Para alterar o _AssemblyLocation do excel em palavras ou 2010

  1. O excel, escolha a guia de Arquivo .

  2. Escolha o botão de Informações .

  3. Escolha a seta suspensa de Propriedades , e então escolha Propriedades avançadas.

  4. Escolha a guia de Personalizar .

  5. Em o painel de Propriedades , escolha _AssemblyLocation.

  6. Em a caixa de texto de Valor , edite o texto para remover |vstolocal (se o texto existir) e para adicionar |id=ContosoInstaller.

  7. Escolha o botão OK.

a assinatura de manifestos

Assinar os manifestos de aplicativo e implantação com um certificado. Isso garante que os arquivos não foram violados.

Novamente assinar os manifestos de aplicativo e implantação

  1. Copie o arquivo de certificado ContosoInstaller_TemporaryKey.pfx do diretório de solução %USERPROFILE%\Documents\Visual Studio 2012\Projects\ContosoInstaller\ContosoInstaller no diretório c:\publish\Application Files\ContosoInstaller_1_0_0_0.

  2. Abrir o prompt de comando do Visual Studio.

  3. Altere para o diretório de os arquivos c:\publish\Application \ ContosoInstaller_1_0_0_0 .

  4. Assinar o manifesto do aplicativo alterado com o seguinte comando:

    mage -sign ContosoInstaller.dll.manifest -certfile ContosoInstaller_TemporaryKey.pfx
    

    A mensagem “ContosoInstaller.dll.manifest assinados com êxito” aparece.

  5. Altere para o diretório de c:\publish .

  6. Atualizar e assinar o manifesto de implantação com o seguinte comando:

    mage -update ContosoInstaller.vsto -appmanifest "Application Files\ContosoInstaller_1_0_0_0\ContosoInstaller.dll.manifest" -certfile "Application Files\ContosoInstaller_1_0_0_0\ContosoInstaller_TemporaryKey.pfx"
    

    A mensagem “ContosoInstaller.vsto assinados com êxito” aparece.

  7. Copie o arquivo de ContosoInstaller.vsto para o diretório de arquivos c:\publish\Application \ ContosoInstaller_1_0_0_0 .

Testando a implantação de multiprojetos

O procedimento a seguir garante que o manifesto instalar o suplemento do Outlook e a pasta de trabalho do Excel.

Para testar a implantação de multiprojetos

  1. Copiar o diretório de c:\publish a um computador de teste.

  2. Executar o programa de instalação para instalar a implantação de multiprojeto.

    Instalador de Personalização do Microsoft Office Aparece.

  3. Escolha Instalar.

    a caixa de diálogo de Instalador de Personalização do Microsoft Office mostra a seguinte mensagem: “Personalização do Microsoft Office foi instalada com êxito.”

  4. Outlook aberto para verificar que o suplemento funcionar.

  5. Abra o arquivo de pasta de trabalho do Excel para verificar que a nível de personalização funcionar.

  6. Verifique que a implantação de multiprojeto tenha uma única entrada na lista de aplicativos instalados.

    adicionar/remover programas Em o Windows XP ou Programas e Recursos em mostra ContosoInstallerWindows Vista.

Limpando o diretório de publicação

O procedimento a seguir remove todos os arquivos desnecessários de diretório de publicação.

Para limpar o diretório de publicação

  1. Remova os seguintes arquivos do diretório de arquivos c:\publish\Application \ ContosoInstaller_1_0_0_0 .

    • ContosoExcelWorkbook.dll.manifest

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.dll.deploy

    • ContosoInstaller.docx

    • ContosoInstaller_TemporaryKey.pfx

    • ContosoOutlookAddIn.dll.manifest

    • ContosoOutlookAddIn.vsto

  2. Remova os seguintes arquivos do diretório de c:\publish .

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.docx

    • ContosoOutlookAddIn.vsto

Consulte também

Tarefas

Como: assinar novamente os manifestos de aplicativo e implantação

Conceitos

Proteção de aplicativos de ClickOnce

Outros recursos

Implantação de soluções do Office