Con questo articolo vi voglio dare delle indicazioni su come creare e distribuire plugins per Office 2013. In particolar modo vedremo come distribuire Microsoft Power Query per Excel.

Nell'articolo Come virtualizzare Office 2013 con App-V 5.0 SP2 abbiamo visto che sia facile creare un pacchetto virtuale di Office 2013. Se invece vogliamo distribuire un plugin dobbiamo osservare questi passi:

  1. Installare sul Sequencer la stessa versione di Office 2013 che abbiamo nel pacchetto virtuale. In particolare vi ricordo che per poter pubblicare Office 2013 è necessario avere la versione Volume License

  2. Scaricare dal sito Microsoft il plugin di Microsoft Power Query

  3. Lanciare il Sequencer e sequenziare il plugin scegliendo la seconda voce: Add-in or Plug-in

  4. Completare la procedura di sequencing

Alla fine avremo ottenuto un pacchetto che contiene tutti i file

A questo punto dobbiamo apportare delle modifiche al file DeploymentConfig.xml che è stato generato. Infatti le configurazioni del pacchetto devono essere le stesse del pacchetto Office 2013 ed in particolar modo dobbiamo modificare le stringhe

“<COM Mode="Isolated">” in <COM Mode="Integrated">”

“<Objects Enabled="true" />” in “<Objects Enabled="false" />” 

altrimenti quando pubblicheremo il Connection Group per unire i due pacchetti riceveremo sul Client un messaggio di errore come quello in figura: 

Leggendo i dettagli dell'errore nel Registro Eventi troverete questo messaggio:

The connection group {aaaaaaa} version {bbbbbbb} could not be published because the virtual COM settings of the individual packages conflict.
Verify that the virtual COM settings are the same for all member packages and try again.
Error code: 0x8E90070A – 0x3000F 


Vi consiglio quindi di approfondire a cosa servono i file User Configuration File (UserConfig) e Deployment Configuration File (DeploymentConfig) leggendo l'articolo About App-V 5.0 Dynamic Configuration.

Adesso siamo pronti per pubblicare i due pacchetti con powershell. Sul client eseguiamo quindi i due comandi:

Add-AppvClientPackage –path <percorso_del_pacchetto_Office>.appv -DynamicDeploymentConfiguration <<percorso_del_pacchetto_Office>deploymentconfig.xml   |   Publish-AppvClientPackage  -Global

Add-AppvClientPackage –path <percorso_del_pacchetto_PowerQuery>.appv -DynamicDeploymentConfiguration  <percorso_del_pacchetto_PowerQuery>deploymentconfig.xml   |    Publish-AppvClientPackage  -Global

E' molto importante usare lo switch -DynamicDeploymentConfiguration per dichiarare che vogliamo usare le configurazioni modificate da noi e non i settaggi contenuti nel pacchetto .appv, che altrimenti verrebbero caricarti di default

Notate che in entrambi i casi ho usato lo switch -Global, che pubblica entrambi i pacchetti a livello macchina. Se usate App-V Server ricordatevi di pubblicare i pacchetti per gruppo di Computer e non per gruppo di utenti e di scegliere di caricare una configurazione di tipo Custom (come mostrato in figura), caricando quindi il file deploymentconfig.xml che abbiamo precedentemente modificato. Per approfondimenti vi rimando all'articolo Distribuire Office 2013 con App-V 5.0

Per unire i due pacchetti ed eseguire il plugin all'interno di Office 2013 virtualizzato dobbiamo creare un Connection Group. Fate riferimento all'articolo How to Use Connection Groups on a Standalone Computer Using PowerShell per avere un'idea della sintassi da utilizzare per realizzare il file .xml di configurazione del Connection Group e all'articolo Deploying Connection Groups in Microsoft App-V v5 pubblicato su Technet

 

Per ditribuire il Connection Group è necessario eseguire sul client il comando:

Add-AppvClientConnectionGroup –path <percorso_del_file_di_configurazione>.xml   |   Enable-AppvClientConnectionGroup  -Global

Anche il connection group deve essere pubblicato a livello Global.

Se sul client eseguite il comando powershell Get-AppvClientConnectionGroup -all  otterrete il risultato mostrato in figura

Come vi ho mostrato creare un Connection Group e integrare due applicazioni virtuali non è difficile, ma bisogna prestare attenzione agli accorgimenti che vi ho scritto per evitare inutile perdite di tempo nel troubleshooting.

 

Nic