Condividi tramite


Procedura dettagliata: distribuzione di un documento in una cartella locale e di un assembly in una cartella di rete (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 che il documento e l'assembly si trovino rispettivamente nel computer di sviluppo e in una cartella in un computer di rete. Questo tipo di distribuzione è noto come modello di distribuzione locale/di rete.

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 di rete.

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.

  • Accesso a un computer di rete per la distribuzione.

  • 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 "Modifica del manifesto dell'applicazione incorporato".

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.

  5. Uscire da Word.

  6. 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 successivamente tramite ServerDocument avrà esito negativo.

Modifica del manifesto dell'applicazione incorporato

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 procedura seguente verrà utilizzata la classe ServerDocument per modificare il manifesto dell'applicazione incorporato nel documento in modo che punti al nuovo percorso dell'assembly di personalizzazione. 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. Sostituirefull document path con il percorso completo del documento nella posizione di compilazione nel computer di sviluppo, ad esempio cartella progetto\bin\debug\WordDeployment.doc. Sostituire full assembly path con il percorso completo dell'assembly nella cartella di rete in cui verrà distribuito, ad esempio \\DeploymentServer\DeploymentFolder\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. 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.

Distribuzione della soluzione

Ora che i percorsi sono corretti, è possibile distribuire il documento in una cartella nel computer di sviluppo e l'assembly in una cartella in un computer di rete.

Per distribuire la soluzione

  1. Creare una cartella denominata TestDeployDocument nella directory principale dell'unità di sistema di Windows (%SystemDrive%). Se l'unità di sistema è C:, ad esempio, la nuova cartella sarà C:\TestDeployDocument.

  2. Creare una cartella denominata DeploymentFolder in un computer di rete, quindi condividere la cartella. Se, ad esempio, il computer di rete è denominato DeploymentServer, la nuova condivisione di rete sarà \\DeploymentServer\DeploymentFolder. Assicurarsi che la condivisione di rete abbia lo stesso nome specificato nel segnaposto full assembly path durante la modifica del manifesto dell'applicazione incorporato nei passaggi precedenti.

  3. Copiare il documento dalla cartella dell'output di compilazione, generalmente cartella progetto\bin\debug o cartella progetto\bin\release, nella cartella %SystemDrive%\TestDeployDocument nel computer di sviluppo.

  4. Copiare l'assembly dalla cartella dell'output di compilazione alla condivisione di rete \\DeploymentServer\DeploymentFolder.

  5. Aprire il documento nella cartella %SystemDrive%\TestDeployDocument nel computer di sviluppo. 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 nella cartella di rete.

  6. Scegliere OK, quindi chiudere il documento.

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 -m -ag LocalIntranet_Zone -url "full assembly path" FullTrust -n "Test_Deployment_Assembly"
    

    Sostituire full assembly path con il percorso completo dell'assembly nella cartella di rete, ad esempio \\DeploymentServer\DeploymentFolder\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 nel computer di sviluppo e accertarsi che il messaggio venga visualizzato.

Passaggi successivi

È inoltre possibile distribuire il documento e l'assembly in cartelle locali oppure distribuire entrambi 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 e un assembly in cartelle locali diverse (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)