Partager via


Procédure pas à pas : déploiement de plusieurs solutions Office en un seul programme d'installation ClickOnce

Vous pouvez déployer plusieurs solutions Office dans un package unique pour simplifier l'installation et le processus de mise à jour. Cette opération nécessite de modifier et resigner les manifestes de déploiement et d'application après la publication et avant l'installation.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Microsoft Office 2013 Preview et Microsoft Office 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Cette procédure pas à pas décrit les tâches suivantes :

  • Création de plusieurs solutions Office.

  • Modification du manifeste d'application.

  • Nouvelle signature des manifestes.

Notes

Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

-

Une édition de Visual Studio 2012 qui inclut les outils de développement Microsoft Office. Pour plus d'informations, consultez [Configuration d'un ordinateur pour développer des solutions Office](https://msdn.microsoft.com/fr-fr/library/bb398242\(v=vs.110\)).
  • Aperçu de Word 2013

  • Aperçu d'Outlook 2013

  • Aperçu d'Excel 2013

  • Word 2010

  • Outlook 2010

  • Excel 2010

  • Ordinateur de test.

Création de plusieurs solutions Office

Commencez par créer trois projets Office, dont un qui fonctionne comme programme d'installation. Les deux autres seront déployés sur l'ordinateur de l'utilisateur final.

Pour créer et développer de nouveaux projets Word, Outlook et Excel

  1. Créez un projet au niveau de le document Word. Nommez le projet ContosoInstaller et enregistrez-le dans le répertoire %USERPROFILE%\Documents\Visual Studio 2012\Projects.

    Le projet ContosoInstaller sera utilisé comme programme d'installation. Pour plus d’informations, consultez Comment : créer des projets Office dans Visual Studio.

  2. Dans la solution ContosoInstaller, ajoutez un projet au niveau de l'application Outlook intitulé ContosoOutlookAddIn et ajoutez votre code au projet Outlook.

  3. Dans la solution ContosoInstaller, ajoutez un projet au niveau du document Excel intitulé ContosoExcelWorkbook et ajoutez votre code au projet Excel.

Publication des solutions Office

Utilisez l'Assistant Publication ou la Page projet du Concepteur de projets pour publier les solutions Office sur l'ordinateur de développement.

Pour publier les projets Word, Outlook et Excel

  1. Publiez le projet ContosoInstaller dans le dossier c:\publish. Pour plus d’informations, consultez Comment : publier une solution Office à l'aide de ClickOnce.

  2. Publiez le projet ContosoOutlookAddIn dans le dossier c:\publish.

  3. Publiez le projet ContosoExcelWorkbook dans le dossier c:\publish.

Modification du manifeste d'application

Utilisez l'éditeur XML de Visual Studio pour ajouter des dépendances d'installation, des fichiers, des points d'entrée et des assemblys au manifeste d'application. Le contenu d'un manifeste d'application est semblable à une nomenclature qui répertorie tout le contenu d'une zone ; un manifeste d'application recense tous les assemblys dépendants et requis, ainsi que les fichiers dont l'application a besoin. Le manifeste d'application d'une solution Office répertorie également les assemblys qui doivent être chargés par une application Office pour les compléments d'application et les personnalisations au niveau du document.

Dd465290.collapse_all(fr-fr,VS.110).gifAjout des dépendances d'installation

Modifiez le manifeste d'application pour installer les assemblys ContosoOutlookAddin et ContosoExcelWorkbook et supprimez les références à l'assembly ContosoInstaller.

Pour ajouter des dépendances d'installation au manifeste d'application

  1. Dans le dossier c:\publish\Application Files, déplacez le contenu des répertoires ContosoExcelWorkbook_1_0_0_0 et ContosoOutlookAddIn_1_0_0_0 vers le répertoire ContosoInstaller_1_0_0_0.

  2. Ouvrez les fichiers ContosoInstaller.dll.manifest, ContosoOutlookAddIn.dll.manifest, et ContosoExcelWorkbook.dll.manifest dans un éditeur XML.

  3. À partir du fichier ContosoOutlookAddIn.dll.manifest, copiez toutes les dépendances d'installation et de fichier, y compris ContosoOutlookAddIn.dll. Autrement dit, copiez toutes les dépendances qui commencent par <dependentAssembly dependencyType="install" ou <file name="app .config">. Votre code doit se présenter comme suit : seul l'élément variera d' <dsig:DigestValue> .

      <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. Dans le fichier ContosoInstaller.dll.manifest, collez la dépendance d'installation ContosoOutlookAddIn.dll à la fin de la section de dépendance.

  5. À partir du fichier ContosoExcelWorkbook.dll.manifest, copiez toutes les dépendances d'installation et de fichier, y compris ContosoExcelWorkbook.dll et Microsoft.Office.Tools.Common.v4.0.Utilities.dll. Autrement dit, copiez toutes les dépendances qui commencent par <dependentAssembly dependencyType="install" ou <file name="app .config">. Votre code doit se présenter comme suit : seul l'élément variera d' <dsig:DigestValue> .

      <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. Dans le fichier ContosoInstaller.dll.manifest, collez les dépendances d'installation à la fin de la section de dépendance.

  7. Dans le fichier ContosoInstaller.dll.manifest, supprimez les dépendances d'installation ContosoInstaller.dll et Microsoft.Office.Tools.Word.v4.0.Utilities.dll. Supprimez également les dépendances en double. Par exemple, vous avez peut-être copié plusieurs dépendances d'installation pour Microsoft.Office.Tools.Common.v4.0.Utilities.dll.

    Notes

    Si vous déployez une solution au niveau du document Word, conservez Microsoft.Office.Tools.Word.v4.0.Utilities.dll dans le manifeste final.

Dd465290.collapse_all(fr-fr,VS.110).gifAjout des points d'entrée

Modifiez le manifeste d'application pour charger les assemblys ContosoOutlookAddin et ContosoExcelWorkbook dans l'espace de noms <vstav3>.

Pour ajouter les points d'entrée dans l'espace de noms vstav3 au manifeste d'application

  1. Dans le fichier ContosoInstaller.dll.manifest, supprimez le texte entre les éléments </vstav3:entryPointsCollection> et <vstav3:entryPointsCollection>.

  2. Dans le fichier ContosoOutlookAddIn.dll.manifest, copiez le texte entre les éléments </vstav3:entryPointsCollection> et <vstav3:entryPointsCollection>. Votre code doit se présenter comme suit.

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

    Notes

    Si le complément de niveau application Outlook utilise une zone de formulaire, le point d'entrée Outlook doit être le dernier répertorié dans la section <vstav3:entryPoints>.

  3. Dans le fichier ContosoInstaller.dll.manifest, collez le code après l'élément <vstav3:entryPointsCollection>.

  4. Ajoutez l'attribut d' id à l'élément d' <vstav3:entryPoints> pour distinguer ce point d'entrée des autres.

          <vstav3:entryPoints id="ContosoOutlook">
    
  5. Dans le fichier ContosoExcelWorkbook.dll.manifest, copiez le texte entre les éléments </vstav3:entryPointsCollection> et <vstav3:entryPointsCollection>. Votre code doit ressembler au code suivant.

          <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. Dans le fichier ContosoInstaller.dll.manifest, collez le code après l'élément <vstav3:entryPointsCollection>.

  7. Ajoutez l'attribut id à l'élément <vstav3:entryPoints> pour distinguer ce point d'entrée des autres points d'entrée.

          <vstav3:entryPoints id="ContosoExcel">
    

Dd465290.collapse_all(fr-fr,VS.110).gifAjouter les assemblys

Modifiez le manifeste d'application pour charger les assemblys ContosoOutlookAddin et ContosoExcelWorkbook dans l'espace de noms <vstov4>.

Pour ajouter les assemblys à l'espace de noms vstov4 dans le manifeste d'application

  1. Dans le fichier ContosoInstaller.dll.manifest, supprimez le texte entre les éléments </vstov4:customizations> et <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">.

  2. Dans le fichier ContosoOutlookAddIn.dll.manifest, copiez le texte entre les éléments </vstov4:customizations> et <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">. Votre code doit ressembler à ce qui suit.

            <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. Dans le fichier ContosoInstaller.dll.manifest, collez le code après l'élément <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">.

  4. Ajoutez l'attribut id à l'élément <vstav3:customization> pour distinguer cette personnalisation des autres. Cet ID est le même ID ajouté à l'élément <vstav3:entryPoints> dans la procédure précédente.

            <vstov4:customization id="ContosoOutlook">
    
  5. Dans le fichier ContosoExcelWorkbook.dll.manifest, copiez le texte entre les éléments </vstov4:customizations> et <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">. Le code suivant est semblable au code que vous recherchez : seul l'élément <solutionId> variera.

            <vstov4:customization>
              <vstov4:document
                solutionId="73e" />
            </vstov4:customization>
    
  6. Dans le fichier ContosoInstaller.dll.manifest, collez le code après l'élément <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">.

  7. Ajoutez l'attribut id à l'élément <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> pour distinguer cette personnalisation des autres. Cet ID est le même ID ajouté à l'élément <vstav3:entryPoints> dans la procédure précédente.

            <vstov4:customization id="ContosoExcel">
    

Modification du projet au niveau du document

Pour tous les projets au niveau du document d'un déploiement multi-projet, vous devez ajouter l'ID à la propriété de document personnalisée _AssemblyLocation. Cette section montre comment mettre à jour la propriété _AssemblyLocation dans le fichier ContosoExcelWorkbook.xlsx. Cette étape doit être répétée pour tous les projets au niveau du document.

Pour modifier _AssemblyLocation dans Excel ou Word 2010

  1. Dans Excel, choisissez Fichier tableau.

  2. Choisissez le bouton Info .

  3. Cliquez sur la flèche déroulante Propriétés , puis choisissez Propriétés avancées.

  4. Choisissez Personnalisé tableau.

  5. Dans le volet Propriétés , choisissez _AssemblyLocation.

  6. Dans la zone de texte Valeur , modifiez le texte pour supprimer |vstolocal (si le texte existe) et pour ajouter |id=ContosoInstaller.

  7. Cliquez sur le bouton OK.

Nouvelle signature des manifestes

Signez les manifestes d'application et de déploiement à l'aide d'un certificat. Cette opération garantit que les fichiers n'ont pas été falsifiés.

Pour resigner les manifestes d'application et de déploiement

  1. Copiez le fichier de certificat de ContosoInstaller_TemporaryKey.pfx du répertoire de la solution de %USERPROFILE%\Documents\Visual Studio 2012\Projects\ContosoInstaller\ContosoInstaller dans le dossier de c : \publish\Application Files\ContosoInstaller _1_0_0_0.

  2. Ouvrez l'invite de commandes Visual Studio.

  3. Accédez au répertoire c:\publish\Application Files\ContosoInstaller_1_0_0_0.

  4. Signez le manifeste d'application modifié à l'aide de la commande suivante :

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

    Le message « ContosoInstaller.dll.manifest signé avec succès » s'affiche.

  5. Accédez au répertoire c:\publish.

  6. Mettez à jour et signez le manifeste de déploiement à l'aide de la commande suivante :

    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"
    

    Le message « ContosoInstaller.vsto signé avec succès » s'affiche.

  7. Copiez le fichier ContosoInstaller.vsto vers le répertoire c:\publish\Application Files\ContosoInstaller_1_0_0_0.

Test du déploiement multi-projet

La procédure suivante garantit que le manifeste installe le complément Outlook et le classeur Excel.

Pour tester le déploiement multi-projet

  1. Copiez le répertoire c:\publish vers un ordinateur de test.

  2. Exécutez le programme d'installation pour installer le déploiement multi-projet.

    Le Programme d'installation de la personnalisation Microsoft Office apparaît.

  3. Choisissez Installer.

    La boîte de dialogue Programme d'installation de la personnalisation Microsoft Office affiche le message suivant : « La personnalisation Microsoft Office a été installée correctement ».

  4. Ouvrez Outlook pour vérifier que le complément fonctionne.

  5. Ouvrez le fichier de classeur Excel pour vérifier que la personnalisation au niveau du document fonctionne.

  6. Vérifiez que le déploiement multi-projet a une entrée unique dans la liste des applications installées.

    Ajout/Suppression de programmes dans Windows XP ou Programmes et fonctionnalités dans Windows Vista affichent ContosoInstaller.

Nettoyage du répertoire de publication

La procédure suivante supprime tous les fichiers inutiles du répertoire de publication.

Pour nettoyer le répertoire de publication

  1. Supprimez les fichiers suivants du répertoire c:\publish\Application Files\ContosoInstaller_1_0_0_0.

    • ContosoExcelWorkbook.dll.manifest

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.dll.deploy

    • ContosoInstaller.docx

    • ContosoInstaller_TemporaryKey.pfx

    • ContosoOutlookAddIn.dll.manifest

    • ContosoOutlookAddIn.vsto

  2. Supprimez les fichiers suivants du répertoire c:\publish.

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.docx

    • ContosoOutlookAddIn.vsto

Voir aussi

Tâches

Comment : signer de nouveau des manifestes d'application et de déploiement

Concepts

Sécurisation des applications ClickOnce

Autres ressources

Déploiement de solutions Office