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çã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
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.
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.
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
Publicar o ContosoInstaller de projeto para c:\publish pasta. For more information, see Como: Implantar uma solução do Office usando o ClickOnce.
Publicar o ContosoOutlookAddIn de projeto para o c:\publish pasta.
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
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.
Abrir o ContosoInstaller.dll.manifest, ContosoOutlookAddIn.dll.manifest, e ContosoExcelWorkbook.dll.manifest arquivos em um editor de XML.
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>
No ContosoInstaller.dll.manifest de arquivos, cole o ContosoOutlookAddIn.dll instalar dependência no final da seção de dependência.
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>
No ContosoInstaller.dll.manifest de arquivos, cole as dependências de instalação no final da seção de dependência.
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çã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
No ContosoInstaller.dll.manifest de arquivos, remova o texto entre o <vstav3:entryPointsCollection> e </vstav3:entryPointsCollection> elementos.
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çã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.
No ContosoInstaller.dll.manifest de arquivos, cole o código após a <vstav3:entryPointsCollection> elemento.
Adicionar o id de atributo para o <vstav3:entryPoints> elemento para diferenciar este ponto de entrada de outros.
<vstav3:entryPoints id="ContosoOutlook">
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>
No ContosoInstaller.dll.manifest de arquivos, cole o código após a <vstav3:entryPointsCollection> elemento.
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
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.
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>
No ContosoInstaller.dll.manifest de arquivos, cole o código após a <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> elemento.
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">
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>
No ContosoInstaller.dll.manifest de arquivos, cole o código após a <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> elemento.
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
No Excel, clique no arquivo guia.
Clique em informações.
Clique o Propriedades seta suspensa e clique Propriedades avançadas de.
Clique o personalizado guia.
No Propriedades painel, clique em _AssemblyLocation.
Na caixa de texto valor, edite o texto para remover |vstolocal (se o texto existir) e adicionar |id=ContosoInstaller.
Click OK.
Para modificar o _AssemblyLocation no Excel ou Word 2007
No Excel, clique no Botão de Microsoft Office.
Aponte para preparar e clique em Propriedades.
Clique o Propriedades de documento seta suspensa e clique Propriedades avançadas de.
Clique o personalizado guia.
No Propriedades painel, clique em _AssemblyLocation.
Na caixa de texto valor, edite o texto para remover |vstolocal (se o texto existir) e adicionar |id=ContosoInstaller.
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
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.
Abra o prompt de comando Visual Studio.
Alterar para a c:\publish\Application Files\ContosoInstaller_1_0_0_0 directory.
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.
Altere para o c:\publish directory.
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.
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
Cópia do c:\publish diretório de um computador de teste.
Execute o programa de instalação para instalar a implantação de multiprojeto.
O Instalador de personalização de Microsoft Office aparece.
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."
Abra o Outlook para verificar se o suplemento funciona.
Abra o arquivo de pasta de trabalho do Excel para verificar se a personalização de nível de documento funciona.
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
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
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
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. |