Demonstra Passo a passo: Implantando várias soluções do Office em um único instalador de ClickOnce para o.NET Framework 4

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

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para Microsoft Office 2010 e o sistema 2007 do Microsoft Office. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

This walkthrough illustrates the following tasks:

  • Criando duas soluções do Office para implantar e uma solução do Office como o projeto do instalador.

  • Modificando o manifesto do aplicativo do projeto installer para instalar as duas soluções do Office.

  • Manifestos de assinar novamente o aplicativo e implantação.

ObservaçãoObservação

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 do Visual Studio.

Pré-requisitos

You need the following components to complete this walkthrough:

-

Uma edição do Visual Studio 2010 que inclua as ferramentas de desenvolvedor do Microsoft Office. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.100\).md).
  • Word 2007 ou Word 2010.

  • O Outlook 2007 ou Outlook 2010.

  • Excel 2007 ou Excel 2010.

  • Um computador de teste.

Criando várias soluções do Office

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

Para criar e desenvolver novos projetos do Word, Outlook e Excel

  1. Criar um projeto de nível de documento do Word para o.NET Framework 4. Nomeie o projeto ContosoInstallere salvar o projeto para o %USERPROFILE%\Documents\Visual Studio 2010\Projects directory.

    O ContosoInstaller projeto será usado como o instalador. For more information, see Como: Criar projetos do Office em Visual Studio.

  2. No ContosoInstaller solução, adicionar um projeto de nível de aplicativo do Outlook com o nome ContosoOutlookAddIne adicione seu código para o projeto do Outlook.

  3. No ContosoInstaller solução, adicionar um projeto de nível de documento do Excel com o nome ContosoExcelWorkbooke adicione seu código para o projeto do Excel.

As soluções do Office de publicação.

Use o Publish Wizard ou o Página projeto da Project Designer para publicar as soluções do Office no computador de desenvolvimento.

Para publicar os projetos do Word, Outlook e Excel

  1. Publicar o ContosoInstaller de projeto para c:\publish pasta. For more information, see Como: Implantar uma solução do Office usando o ClickOnce.

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

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

Modificando o manifesto do aplicativo

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

Adicionando dependências de instalação

Modificar o manifesto do aplicativo para instalar o ContosoOutlookAddin e ContosoExcelWorkbook assemblies e remover referências a ContosoInstaller assembly.

Para adicionar dependências de instalação para o manifesto de aplicativo

  1. Da c:\publish\Application arquivos pasta, mover o conteúdo da ContosoOutlookAddIn_1_0_0_0 e ContosoExcelWorkbook_1_0_0_0 diretórios para o ContosoInstaller_1_0_0_0 directory.

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

  3. Da ContosoOutlookAddIn.dll.manifest de arquivo, copie todas as dependências do arquivo e a instalação incluindo ContosoOutlookAddIn.dll. Isto é, copie todas as dependências que começam com <dependentAssembly dependencyType="install" ou <file name="aplicativo.config">. O código a seguir é o que você deve procurar: somente o <dsig:DigestValue> elemento variará.

      <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. No ContosoInstaller.dll.manifest de arquivos, cole o ContosoOutlookAddIn.dll instalar dependência no final da seção de dependência.

  5. Da ContosoExcelWorkbook.dll.manifest de arquivo, copie todas as dependências de arquivo e a instalação, 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="aplicativo.config">. O código a seguir é semelhante, o que você deve procurar: somente o <dsig:DigestValue> elemento variará.

      <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. No ContosoInstaller.dll.manifest de arquivos, cole as dependências de instalação no final da seção de dependência.

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

    ObservaçãoObservação

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

Adicionando o correctamente.

Modificar o manifesto do aplicativo ao carregar o ContosoOutlookAddin e ContosoExcelWorkbook assemblies para o <vstav3> namespace.

Para adicionar o correctamente no namespace vstav3 para o manifesto de aplicativo

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

  2. Da ContosoOutlookAddIn.dll.manifest de arquivo, copie o texto entre o <vstav3:entryPointsCollection> e </vstav3:entryPointsCollection> elementos. O código a seguir é semelhante ao que você deve estar procurando.

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

    Se o suplemento da nível de aplicativo Outlook usa uma região de formulário, o ponto de entrada do Outlook deve ser a última listada na <vstav3:entryPoints> seção.

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

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

          <vstav3:entryPoints id="ContosoOutlook">
    
  5. Da ContosoExcelWorkbook.dll.manifest de arquivo, copie o texto entre o <vstav3:entryPointsCollection> e </vstav3:entryPointsCollection> elementos. O código a seguir é semelhante ao que você deve estar procurando.

          <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. No ContosoInstaller.dll.manifest de arquivos, cole o código após a <vstav3:entryPointsCollection> elemento.

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

          <vstav3:entryPoints id="ContosoExcel">
    

Adicionando os assemblies

Modificar o manifesto do aplicativo ao carregar o ContosoOutlookAddin e ContosoExcelWorkbook assemblies para o <vstov4> namespace.

Para adicionar assemblies ao namespace vstov4 no manifesto do aplicativo

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

  2. No ContosoOutlookAddIn.dll.manifest de arquivo, copie o texto entre o <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> e </vstov4:customizations> elementos. O código a seguir é o que você deve procurar.

            <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. No ContosoInstaller.dll.manifest de arquivos, cole o código após a <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> elemento.

  4. Adicionar o id de atributo para o <vstav3:customization> elemento para diferenciar essa personalização de outras pessoas. Essa id é a mesma identificação que foi adicionada para o <vstav3:entryPoints> elemento no procedimento anterior.

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

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

  7. Adicionar o id de atributo para o <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> elemento para diferenciar essa personalização de outras pessoas. Essa id é a mesma identificação que foi adicionada para o <vstav3:entryPoints> elemento no procedimento anterior.

            <vstov4:customization id="ContosoExcel">
    

Modificar o projeto de nível de documento

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

Para modificar o _AssemblyLocation no Excel ou Word 2010

  1. No Excel, clique no arquivo guia.

  2. Clique em informações.

  3. Clique o Propriedades seta suspensa e clique Propriedades avançadas de.

  4. Clique o personalizado guia.

  5. No Propriedades painel, clique em _AssemblyLocation.

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

  7. Click OK.

Para modificar o _AssemblyLocation no Excel ou Word 2007

  1. No Excel, clique no Botão de Microsoft Office.

  2. Aponte para preparar e clique em Propriedades.

  3. Clique o Propriedades de documento seta suspensa e clique Propriedades avançadas de.

  4. Clique o personalizado guia.

  5. No Propriedades painel, clique em _AssemblyLocation.

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

  7. Click OK.

Assinando novamente os manifestos

Assine os manifestos de aplicativo e implantação com um certificado. Isso garante que os arquivos não foi adulterados.

Para assinar novamente os manifestos de aplicativo e implantação

  1. Cópia do ContosoInstaller_TemporaryKey.pfx arquivo de certificado da %USERPROFILE%\Documents\Visual Studio 2010\Projects\ContosoInstaller\ContosoInstaller o diretório de solução para o c:\publish\Application Files\ContosoInstaller_1_0_0_0diretório.

  2. Abra o prompt de comando Visual Studio.

  3. Alterar para a c:\publish\Application Files\ContosoInstaller_1_0_0_0 directory.

  4. Assinar o manifesto de aplicativo modificado com o seguinte comando:

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

    A mensagem "ContosoInstaller.dll.manifest entrado com êxito" é exibida.

  5. Altere para o c:\publish directory.

  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 entrado com êxito" é exibida.

  7. Copie o arquivo ContosoInstaller.vsto para o c:\publish\Application Files\ContosoInstaller_1_0_0_0 directory.

Testando a implantação de multiprojeto

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

Para testar a implantação de multiprojeto

  1. Cópia do c:\publish diretório de um computador de teste.

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

    O Instalador de personalização de Microsoft Office aparece.

  3. Clique em instalar.

    O Instalador de personalização de Microsoft Office caixa de diálogo mostra a seguinte mensagem: "A personalização de Microsoft Office foi instalada com êxito."

  4. Abra o Outlook para verificar se o suplemento funciona.

  5. Abra o arquivo de pasta de trabalho do Excel para verificar se a personalização de nível de documento funciona.

  6. Verifica se a implantação de multiprojeto tem uma única entrada na lista de aplicativos instalados.

    O Adicionar ou remover programas no Windows XP ou programas e recursos no Windows Vista mostra ContosoInstaller.

Limpando o diretório de publicação

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

Para limpar o diretório de publicação

  1. Remova os seguintes arquivos a partir de c:\publish\Application Files\ContosoInstaller_1_0_0_0 directory.

    • ContosoExcelWorkbook.dll.manifest

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.dll.deploy

    • ContosoInstaller.docx

    • ContosoInstaller_TemporaryKey.pfx

    • ContosoOutlookAddIn.dll.manifest

    • ContosoOutlookAddIn.vsto

  2. Remova os seguintes arquivos a partir de c:\publish directory.

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.docx

    • ContosoOutlookAddIn.vsto

Consulte também

Tarefas

How to: Re-assinar manifestos de aplicativo e implantação

Conceitos

Protegendo aplicativos de ClickOnce

Implantação de solução avançada do Office

Outros recursos

Implantar soluções do Office

Histórico de alterações

Date

History

Motivo

Setembro de 2010

Alterado %USERPROFILE%\Documents\Visual Studio 10\Projects para %USERPROFILE%\Documents\Visual Studio 2010\Projects.

Correção de bug de conteúdo.