Procedura dettagliata: distribuzione di più soluzioni Office in un unico programma di installazione ClickOnce

Per semplificare il processo di installazione e aggiornamento è possibile distribuire più soluzioni Office in un solo package. A tale scopo occorre modificare e firmare nuovamente i manifesti di applicazione e di distribuzione dopo la pubblicazione e prima dell'installazione.

Si applica a: Le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Microsoft Office 2013 Preview e Microsoft Office 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creazione di più soluzioni Office.

  • Modifica del manifesto di applicazione.

  • Nuova firma dei manifesti.

Nota

Il computer potrebbe mostrare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Prerequisiti

Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:

-

Una versione di Visual Studio 2012 che include gli strumenti per sviluppatori di Microsoft Office. Per ulteriori informazioni, vedere [Configurazione di un computer per sviluppare soluzioni Office](https://msdn.microsoft.com/it-it/library/bb398242\(v=vs.110\)).
  • Anteprima Word 2013

  • Anteprima Outlook 2013

  • Anteprima Excel 2013

  • Word 2010

  • Outlook 2010

  • Excel 2010

  • Computer di prova.

Creazione di più soluzioni Office

Iniziare con la creazione di tre progetti Office, di cui uno funzionerà come programma di installazione. Gli altri due verranno implementati nel computer dell'utente finale.

Per creare e sviluppare nuovi progetti Word, Outlook ed Excel

  1. Creare un progetto a livello di documento Word. Denominare il progetto ContosoInstaller e salvarlo nella directory %USERPROFILE%\Documenti\Visual Studio 2012\Projects.

    Il progetto ContosoInstaller verrà utilizzato come programma di installazione. Per ulteriori informazioni, vedere Procedura: creare progetti di Office in Visual Studio.

  2. Nella soluzione ContosoInstaller, aggiungere un progetto a livello di applicazione Outlook denominato ContosoOutlookAddin. Quindi, aggiungere il codice desiderato nel progetto Outlook.

  3. Nella soluzione ContosoInstaller, aggiungere un progetto a livello di documento Excel denominato ContosoExcelWorkbook. Quindi, aggiungere il codice desiderato nel progetto Excel.

Pubblicazione delle soluzioni Office

Utilizzare Pubblicazione guidata o la pagina Progetto di Progettazione progetti per pubblicare le soluzioni Office nel computer di sviluppo.

Per pubblicare i progetti Word, Outlook ed Excel

  1. Pubblicare il progetto ContosoInstaller nella cartella c:\publish. Per ulteriori informazioni, vedere Procedura: pubblicare una soluzione Office utilizzando ClickOnce.

  2. Pubblicare il progetto ContosoOutlookAddIn nella cartella c:\publish.

  3. Pubblicare il progetto ContosoExcelWorkbook nella cartella c:\publish.

Modifica del manifesto di applicazione

Utilizzare l'editor XML in Visual Studio per aggiungere dipendenze di installazione, file, punti di ingresso e assembly al manifesto dell'applicazione. Il contenuto di un manifesto dell'applicazione è simile a una distinta dei materiali, nella quale è elencato l'intero contenuto di una scatola; un manifesto dell'applicazione elenca tutti gli assembly necessari e dipendenti e i file richiesti dall'applicazione. Nel manifesto dell'applicazione di una soluzione Office sono inoltre elencati gli assembly che devono essere caricati da un'applicazione di Office per i componenti aggiuntivi a livello di applicazione e le personalizzazioni a livello di documento.

Dd465290.collapse_all(it-it,VS.110).gifAggiunta di dipendenze di installazione

Modificare il manifesto di applicazione affinché installi gli assembly ContosoOutlookAddin e ContosoExcelWorkbook. Quindi, rimuovere i riferimenti all'assembly ContosoInstaller.

Per aggiungere dipendenze di installazione al manifesto di applicazione

  1. Dalla cartella c:\publish\Application Files, spostare il contenuto delle directory ContosoOutlookAddIn_1_0_0_0 e ContosoExcelWorkbook_1_0_0_0 nella directory ContosoInstaller_1_0_0_0.

  2. Aprire i file ContosoInstaller.dll.manifest, ContosoOutlookAddIn.dll.manifest e ContosoExcelWorkbook.dll.manifest in un editor XML.

  3. Dal file ContosoOutlookAddIn.dll.manifest copiare tutte le dipendenze di installazione e del file, inclusa ContosoOutlookAddIn.dll. In altre parole, copiare tutte le dipendenze che iniziano con <dependentAssembly dependencyType="install" o <file name="app.config">. Il codice dovrebbe essere analogo al seguente: solo l'elemento <dsig:DigestValue> sarà diverso.

      <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. Nel file ContosoInstaller.dll.manifest, incollare la dipendenza di installazione ContosoOutlookAddIn.dll alla fine della sezione delle dipendenze.

  5. Dal file ContosoExcelWorkbook.dll.manifest copiare tutte le dipendenze di installazione e del file, incluse ContosoExcelWorkbook.dll e Microsoft.Office.Tools.Common.v4.0.Utilities.dll. In altre parole, copiare tutte le dipendenze che iniziano con <dependentAssembly dependencyType="install" o <file name="app.config">. Il codice dovrebbe essere analogo al seguente: solo l'elemento <dsig:DigestValue> sarà diverso.

      <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. Nel file ContosoInstaller.dll.manifest incollare le dipendenze di installazione alla fine della sezione delle dipendenze.

  7. Nel file ContosoInstaller.dll.manifest rimuovere le dipendenze di installazione ContosoInstaller.dll e Microsoft.Office.Tools.Word.v4.0.Utilities.dll. Rimuovere inoltre qualsiasi dipendenza duplicata. Ad esempio, è possibile che siano state copiate più dipendenze di installazione per Microsoft.Office.Tools.Common.v4.0.Utilities.dll.

    Nota

    Se si distribuisce una soluzione Word a livello di documento, lasciare Microsoft.Office.Tools.Word.v4.0.Utilities.dll nel manifesto finale.

Dd465290.collapse_all(it-it,VS.110).gifAggiunta di punti di ingresso

Modificare il manifesto di applicazione affinché carichi gli assembly ContosoOutlookAddin e ContosoExcelWorkbook nello spazio dei nomi <vstav3>.

Per aggiungere al manifesto di applicazione i punti di ingresso nello spazio dei nomi vstav3

  1. Nel file ContosoInstaller.dll.manifest, rimuovere il testo fra gli elementi <vstav3:entryPointsCollection> e </vstav3:entryPointsCollection>.

  2. Dal file ContosoOutlookAddIn.dll.manifest, copiare il testo fra gli elementi <vstav3:entryPointsCollection> e </vstav3:entryPointsCollection>. Il codice dovrebbe essere analogo al seguente.

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

    Nota

    Se il componente aggiuntivo a livello di applicazione per Outlook utilizza un'area del modulo, il punto di ingresso di Outlook deve essere l'ultimo elencato nella sezione <vstav3:entryPoints>.

  3. Nel file ContosoInstaller.dll.manifest, incollare il codice dopo l'elemento <vstav3:entryPointsCollection>.

  4. Aggiungere l'attributo id all'elemento <vstav3:entryPoints> per distinguere questo punto di ingresso dagli altri.

          <vstav3:entryPoints id="ContosoOutlook">
    
  5. Dal file ContosoExcelWorkbook.dll.manifest, copiare il testo fra gli elementi <vstav3:entryPointsCollection> e </vstav3:entryPointsCollection>. Il codice dovrebbe essere simile al seguente codice.

          <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. Nel file ContosoInstaller.dll.manifest, incollare il codice dopo l'elemento <vstav3:entryPointsCollection>.

  7. Aggiungere l'attributo id all'elemento <vstav3:entryPoints> per distinguere questo punto di ingresso dagli altri.

          <vstav3:entryPoints id="ContosoExcel">
    

Dd465290.collapse_all(it-it,VS.110).gifAggiunta di assembly

Modificare il manifesto di applicazione affinché carichi gli assembly ContosoOutlookAddin e ContosoExcelWorkbook nello spazio dei nomi <vstov4>.

Per aggiungere gli assembly allo spazio dei nomi vstov4 nel manifesto di applicazione

  1. Nel file ContosoInstaller.dll.manifest, rimuovere qualsiasi elemento di testo fra gli elementi <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> e </vstov4:customizations>.

  2. Nel file ContosoOutlookAddIn.dll.manifest, copiare il testo fra gli elementi <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> e </vstov4:customizations>. Il codice dovrebbe essere analogo al seguente.

            <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. Nel file ContosoInstaller.dll.manifest, incollare il codice dopo l'elemento <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">.

  4. Aggiungere l'attributo id all'elemento <vstav3:customization> per distinguere questa personalizzazione dalle altre. Questo id è lo stesso id aggiunto all'elemento <vstav3:entryPoints> nella procedura precedente.

            <vstov4:customization id="ContosoOutlook">
    
  5. Dal file ContosoExcelWorkbook.dll.manifest, copiare il testo fra gli elementi <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> e </vstov4:customizations>. Il codice seguente è simile a quello che occorre: solo l'elemento <solutionId> sarà diverso.

            <vstov4:customization>
              <vstov4:document
                solutionId="73e" />
            </vstov4:customization>
    
  6. Nel file ContosoInstaller.dll.manifest, incollare il codice dopo l'elemento <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">.

  7. Aggiungere l'attributo id all'elemento <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> per distinguere questa personalizzazione dalle altre. Questo id è lo stesso id aggiunto all'elemento <vstav3:entryPoints> nella procedura precedente.

            <vstov4:customization id="ContosoExcel">
    

Modifica del progetto a Livello di documento

Per tutti i progetti a livello di documento in una distribuzione composta da più progetti, è necessario aggiungere l'id alla proprietà del documento personalizzata _AssemblyLocation. In questa sezione viene illustrato come aggiornare la proprietà _AssemblyLocation nel file di ContosoExcelWorkbook.xlsx e questo passaggio deve essere ripetuto per tutti i progetti a livello di documento.

Per modificare _AssemblyLocation in Excel o Word 2010

  1. In Excel, scegliere la scheda Il file.

  2. Scegliere il pulsante Informazioni.

  3. Scegliere la freccia a discesa Proprietà quindi scegliere Proprietà avanzate.

  4. Scegliere la scheda Personalizzata.

  5. Nel riquadro Proprietà, scegliere _AssemblyLocation.

  6. Nella casella di testo Valore, modificare il testo per rimuovere |vstolocal (se presente) e per aggiungere |id=ContosoInstaller.

  7. Scegliere il pulsante OK.

Nuova firma dei manifesti

Firmare i manifesti di applicazione e di distribuzione con un certificato. Questa firma garantisce che i file non siano stati alterati.

Per firmare nuovamente i manifesti di applicazione e di distribuzione

  1. Copiare il file di certificato ContosoInstaller_TemporaryKey.pfx dalla directory della soluzione %USERPROFILE%\Documents\Visual Studio 2012\Projects\ContosoInstaller\ContosoInstaller nella directory c:\publish\Application Files\ContosoInstaller_1_0_0_0.

  2. Aprire il prompt dei comandi di Visual Studio.

  3. Passare alla directory c:\publish\Application Files\ContosoInstaller_1_0_0_0.

  4. Firmare il manifesto di applicazione modificato con il comando seguente:

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

    Verrà visualizzato il messaggio "ContosoInstaller.dll.manifest firmato correttamente".

  5. Passare alla directory c:\publish.

  6. Aggiornare e firmare il manifesto di distribuzione con il comando seguente:

    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"
    

    Verrà visualizzato il messaggio "ContosoInstaller.vsto firmato correttamente".

  7. Copiare il file ContosoInstaller.vsto nella directory c:\publish\Application Files\ContosoInstaller_1_0_0_0.

Test della distribuzione composta da più progetti

La procedura seguente garantisce che il manifesto installi il componente aggiuntivo di Outlook e la cartella di lavoro di Excel.

Per verificare la distribuzione composta da più progetti

  1. Copiare la directory c:\publish in un computer di prova.

  2. Eseguire il programma di installazione per installare la distribuzione composta da più progetti.

    Verrà visualizzato il Programma di installazione della personalizzazione di Microsoft Office.

  3. Scegliere Installa.

    La finestra di dialogo Programma di installazione della personalizzazione di Microsoft Office mostrerà il messaggio seguente: "Personalizzazione di Microsoft Office installata correttamente".

  4. Aprire Outlook per verificare il corretto funzionamento del componente aggiuntivo.

  5. Aprire il file della cartella di lavoro di Excel per verificare il corretto funzionamento della personalizzazione a livello di documento.

  6. Verificare che la distribuzione composta da più progetti presenti un'unica voce nell'elenco delle applicazioni installate.

    In Installazione applicazioni di Windows XP o in Programmi e funzionalità di Windows Vista verrà visualizzato ContosoInstaller.

Pulizia della directory di pubblicazione

Mediante la procedura seguente è possibile rimuovere i file non necessari dalla directory di pubblicazione.

Per pulire la directory di pubblicazione

  1. Rimuovere i file seguenti dalla directory 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. Rimuovere i file seguenti dalla directory c:\publish.

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.docx

    • ContosoOutlookAddIn.vsto

Vedere anche

Attività

Procedura: ripetere la firma dei manifesti dell'applicazione e di distribuzione

Concetti

Protezione di applicazioni ClickOnce

Altre risorse

Distribuzione di soluzioni Office