Condividi tramite


Procedura dettagliata: distribuzione di un documento e un assembly in cartelle locali diverse (System 2003)

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di documento

Versione Microsoft Office

  • Microsoft Office 2003

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

In questa procedura dettagliata viene descritto come distribuire una personalizzazione a livello di documento in modo tale che il documento e l'assembly vengano inclusi in cartelle diverse nel computer dell'utente finale. Questo tipo di distribuzione è noto come modello di distribuzione locale/locale.

Per ulteriori informazioni sui diversi modi in cui è possibile distribuire una soluzione, vedere Modelli di distribuzione (2003 System). Per ulteriori informazioni sulle personalizzazioni a livello di documento, vedere Architettura delle personalizzazioni a livello di documento.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Modifica del manifesto dell'applicazione incorporato in un documento in modo che punti all'assembly.

  • Concessione dell'attendibilità totale a un assembly di una soluzione Visual Studio Tools per Office contenuto in una cartella locale.

Prerequisiti

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

  • Visual Studio Tools per Office°(componente facoltativo di Visual Studio 2008 Professional e Visual Studio Team System).

  • Microsoft Office Word 2003 o Microsoft Office Excel 2003.

    Nota:

    In questa procedura dettagliata si presuppone la distribuzione di una soluzione Word. Se si desidera eseguire la procedura dettagliata con una soluzione Excel, sostituire il nome del progetto Word con il nome del progetto Excel in tutti gli esempi di codice.

  • Privilegi di amministratore nel computer di sviluppo, in modo da poter impostare i criteri di sicurezza.

Creazione di una soluzione da distribuire

Il primo passaggio consiste nel creare una soluzione Visual Studio Tools per Office di base da distribuire. Se si dispone già di una soluzione che si desidera distribuire, è possibile ignorare questa sezione e passare a "Distribuzione della soluzione".

Per creare una soluzione da distribuire

  1. Creare un progetto Documento di Word con il nome WordDeployment, utilizzando il modello di progetto per Office 2003.

    Nella procedura guidata, scegliere Crea un nuovo documento. Per ulteriori informazioni, vedere la classe Procedura: creare progetti Visual Studio Tools per Office.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul file di codice ThisDocument, quindi scegliere Visualizza codice.

  3. Aggiungere il codice seguente nel gestore eventi ThisDocument_Startup. Quando il documento viene aperto, nel codice viene visualizzato un messaggio che consente di verificare in modo semplice se la soluzione è stata distribuita correttamente.

    MessageBox.Show("The deployment is successful")
    
    MessageBox.Show("The deployment is successful");
    

    Per ulteriori informazioni sull'evento Startup, vedere Eventi di progetti Visual Studio Tools per Office.

  4. Premere F5 per compilare ed eseguire il progetto. Accertarsi che il messaggio venga visualizzato.

Distribuzione della soluzione

Ora è possibile distribuire il documento e l'assembly in cartelle diverse nel computer di sviluppo.

Per distribuire la soluzione

  1. Creare cartelle denonimate TestDeployDocument e TestDeployAssembly nella directory principale dell'unità di sistema di Windows (%SystemDrive%). Se l'unità di sistema è C:, ad esempio, le nuove cartelle saranno C:\TestDeployDocument e C:\TestDeployAssembly.

  2. Copiare il documento dalla cartella dell'output di compilazione, generalmente cartella progetto\bin\debug o cartella progetto\bin\release, nella cartella %SystemDrive%\TestDeployDocument e copiare l'assembly dalla cartella dell'output di compilazione nella cartella %SystemDrive%\TestDeployAssembly.

  3. Aprire il documento nella cartella %SystemDrive%\TestDeployDocument. Verrà visualizzato un messaggio di errore indicante che l'assembly di personalizzazione non è stato trovato o caricato.

    Quando viene compilata la soluzione, il sistema presuppone che l'assembly si trovi nella stessa cartella del documento. Il percorso dell'assembly viene memorizzato in un manifesto dell'applicazione incorporato nel documento. Se il documento e l'assembly vengono distribuiti in cartelle diverse, è necessario modificare il manifesto dell'applicazione incorporato per specificare il nuovo percorso dell'assembly. Nella sezione successiva viene illustrato tale passaggio.

  4. Uscire da Word.

  5. Chiudere la soluzione in Visual Studio.

    Assicurarsi che il documento non sia aperto in un'istanza di Word o in Progettazione progetti. Se il documento è aperto, il tentativo di accedervi nel passaggio successivo tramite ServerDocument avrà esito negativo.

Modifica del manifesto dell'applicazione incorporato

È possibile modificare il manifesto dell'applicazione incorporato nel documento in modo che punti al nuovo percorso dell'assembly di personalizzazione utilizzando la classe ServerDocument. Il codice in cui viene utilizzato l'oggetto ServerDocument per modificare il manifesto dell'applicazione incorporato deve trovarsi all'esterno dell'assembly del progetto Visual Studio Tools per Office associato al documento distribuito.

Per modificare il manifesto dell'applicazione incorporato

  1. Creare un nuovo progetto Applicazione console. Per ulteriori informazioni, vedere Procedura: creare soluzioni e progetti.

  2. Aggiungere un riferimento all'assembly Microsoft.VisualStudio.Tools.Applications.Runtime.dll al nuovo progetto.

  3. Aggiungere l'istruzione using (C#) o Imports (Visual Basic) seguente all'inizio del file di codice Program.cs o Module1.vb.

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Aggiungere il codice seguente al metodo Main per aggiornare il manifesto dell'applicazione incorporato. Sostituire full document path con il percorso completo del documento nella posizione di distribuzione nel computer di sviluppo, ad esempio C:\TestDeployDocument\WordDeployment.doc. Sostituire full assembly path con il percorso completo dell'assembly nella cartella in cui verrà distribuito, ad esempio C:\TestDeployAssembly\WordDeployment.dll.

    Dim sd As ServerDocument = Nothing
    Try
        sd = New ServerDocument("full document path")
        sd.AppManifest.Dependency.AssemblyPath = _
            "full assembly path"
        sd.Save()
    Finally
        If Not sd Is Nothing Then
            sd.Close()
        End If
    End Try
    
    ServerDocument sd = null;
    try
    {
        sd = new ServerDocument(@"full document path");
        sd.AppManifest.Dependency.AssemblyPath = 
            @"full assembly path";
        sd.Save();
    }
    finally
    {
        if (sd != null)
        {
            sd.Close();
        }
    }
    
  5. Premere F5 per compilare ed eseguire il progetto. L'applicazione console aggiornerà il percorso dell'assembly nel manifesto dell'applicazione incorporato, quindi verrà chiusa.

  6. Chiudere il progetto Applicazione console.

  7. Aprire il documento nella cartella %SystemDrive%\TestDeployDocument. Verrà visualizzato un messaggio di errore indicante che i criteri di sicurezza .NET correnti non consentono l'esecuzione della personalizzazione. Ciò è dovuto al fatto che non è stata ancora concessa l'attendibilità totale all'assembly.

  8. Uscire da Word.

    Tutte le istanze di Word devono essere chiuse, altrimenti le modifiche ai criteri di sicurezza non saranno applicate.

Impostazione dei criteri di sicurezza

Per consentire l'esecuzione della soluzione, è necessario concedere l'attendibilità totale all'assembly nei criteri di sicurezza di .NET Framework 2.0. In questa procedura dettagliata viene utilizzato lo strumento Criteri di sicurezza dall'accesso di codice (Caspol.exe) per concedere l'attendibilità totale all'assembly. Per ulteriori informazioni sull'utilizzo di Caspol.exe, vedere Strumento criteri di protezione dall'accesso di codice (Caspol.exe) e Configurazione dei criteri di protezione tramite lo Strumento criteri di protezione dall'accesso di codice (Caspol.exe).

Nota sulla sicurezza:

Di seguito vengono indicati i passaggi di base per l'impostazione di criteri di sicurezza basati su evidenza URL ai fini del completamento di questa procedura dettagliata. Non utilizzare tali passaggi per concedere attendibilità agli assembly in una soluzione se non si è certi che il percorso sia protetto e sicuro. È inoltre consigliabile basare la protezione di una soluzione reale su un'evidenza più efficace dell'URL dell'assembly. Per ulteriori informazioni, vedere la classe Requisiti di sicurezza per l'esecuzione delle soluzioni Office (System 2003).

Per concedere attendibilità totale all'assembly

  1. Al prompt dei comandi, digitare il comando seguente per creare un nuovo gruppo di codice in grado di concedere l'attendibilità totale all'assembly.

    %windir%\Microsoft.NET\Framework\v2.0.50727\caspol -u -ag All_Code -url "full assembly path" FullTrust -n "Test_Deployment"
    

    Sostituire full assembly path con il percorso completo dell'assembly nel computer di sviluppo, ad esempio C:\TestDeployAssembly\WordDeployment.dll.

    Il parametro -n specifica un nome per il nuovo gruppo di codice. Questo parametro non è obbligatorio, ma la creazione di un'etichetta semplificherà l'identificazione e la rimozione del nuovo gruppo di codice al termine della procedura dettagliata.

  2. Digitare yes quando viene richiesto di confermare l'esecuzione dell'operazione, quindi premere INVIO.

  3. Aprire il documento nella cartella %SystemDrive%\TestDeployDocument e accertarsi che il messaggio venga visualizzato.

Passaggi successivi

È inoltre possibile distribuire il documento e l'assembly nella stessa cartella locale oppure in una cartella di rete. Per ulteriori informazioni, vedere le seguenti procedure dettagliate:

Vedere anche

Attività

Procedura dettagliata: distribuzione di un documento e di un assembly in una cartella locale (System 2003)

Procedura dettagliata: distribuzione di un documento in una cartella locale e di un assembly in una cartella di rete (System 2003)

Procedura dettagliata: distribuzione di un documento e di un assembly in una cartella di rete (System 2003)

Procedura dettagliata: distribuzione di una personalizzazione a livello di documento tramite un manifesto di distribuzione (System 2003)

Procedura dettagliata: distribuzione di una personalizzazione a livello di documento tramite un file di Windows Installer (System 2003)

Concetti

Distribuzione di soluzioni Office (System 2003)

Distribuzione delle personalizzazioni a livello di documento (2003 System)

Modelli di distribuzione (2003 System)