un .NET Word 2003 componente aggiuntivo può essere installato all'esterno del GAC?

StackOverflow https://stackoverflow.com/questions/553794

  •  23-08-2019
  •  | 
  •  

Domanda

Ho creato un componente aggiuntivo di Word, e un progetto di installazione di Visual Studio per installare il componente.

Su una macchina pulita con Office 2003 installato, non sembra essere possibile ottenere la componente aggiuntivo da caricare in Word.

Googling il problema suggerisce che questo è perché il gruppo non è attendibile. Ho dato l'assemblea fiducia completo utilizzando lo strumento da riga di comando:

caspol -af AssemblyName.dll

Questo non fa alcuna differenza e il compenent non è ancora caricato in Word. caspol stampa una messaggio "Perché tutte le assemblee GAC ottengono sempre pieno di fiducia, la lista completa fiducia c'è più significativo. È necessario installare qualsiasi assembly che vengono utilizzati in sicurezza politica nel GAC per assicurare che siano di fiducia "

Modifica all'installatore di inserire l'assembly nel GAC permette di caricare correttamente in Word. Ma il componente può essere necessario utilizzare assemblee comuni in futuro, condivisa tra le altre applicazioni .NET, e l'aggiunta di queste librerie al GAC sarebbe auspicabile.

Qualcuno sa come impostare la sicurezza per consentire il componente da caricare, se installato al di fuori del GAC?

È stato utile?

Soluzione

È possibile eseguire manualmente il comando seguente per impostare la protezione per consentire la parola per eseguire il montaggio dall'esterno del GAC. Questo crea un nuovo gruppo con piena fiducia che è ciò che permette il montaggio di eseguire.

caspol.exe -u -addgroup All_Code -url "\*"  FullTrust -n AssemblyName.dll

Microsoft ha un'azione esempio personalizzato per un programma di installazione presso il seguente sito link MSDN , che vi permetterà di inserire questo comando come azione di installazione personalizzata.

Altri suggerimenti

Lei sicuramente non è necessario installare le assembies al GAC, né è necessario definire una politica di sicurezza del montaggio aggiuntivo.

Si sta utilizzando .NET 2.0 con Office 2003? Office 2003 e Office XP entrambi hanno un problema di carico .NET 2.0 componenti aggiuntivi. Ottengono caricato utilizzando il Framework .NET 1.1 (se presente sulla macchina, che è molto probabile). È quindi necessario correggere l'installazione di Office con il Shared aggiuntivo Support Update per Microsoft .NET Framework 2.0 (KB908002) .

È assolutamente necessario includere questa patch al pre-requisiti del vostro installatore.

Per maggiori dettagli nella risposta a questo domande .

E, naturalmente, è necessario avere la versione corretta dei PIA installati sul sistema di destinazione (quasi dimenticato questo punto, PIA sbagliato o mancante è uno dei problemi principali per cui i componenti aggiuntivi non verranno caricati).

Aggiorna : KB908002 richiede VS 2005 sul PC al fine di aggiungere la Shared aggiuntivo Support Update alla finestra di pre-requisiti dei progetti di installazione. La seguente soluzione alternativa deve essere utilizzato in questo caso:

Se si utilizza Visual Studio 2008, allora devi seguire il soluzione menzionato qui sotto per ottenere KB908002 elencati sotto add prerequisiti dialogo:

  
      
  1. Scaricare e installare la correzione su una macchina che ha installato Visual Studio 2005.
  2.   
  3. Accedere a C:. Cartella \ Programmi \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages , individuare KB908002
  4.   
  5. Accedere alla macchina che ha installato Visual Studio 2008 e copiare la cartella KB908002 per C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ Bootstrapper \ Packages
  6.   
  7. Ora, se si va a pre-requisiti elenco su Visual Studio 2008 macchina si vedrebbe la correzione elencata.
  8.   

Un'altra opzione in cui non hai bisogno di VS 2005 a tutti potrebbe essere:

  
      
  1. Scarica la correzione in una cartella temporanea.
  2.   
  3. Aprire un prompt dei comandi, accedere alla cartella in cui si trova e lanciare il seguente comando per estrarre i file dal file di installazione autoestraente la correzione:

    vs2005-kb908002-enu-x86.exe /C /T:C:\KB908002\
    cd \KB908002
    
         

    Ora la cartella C: \ KB908002 conterrà tre file, VS2005-KB908002-ENU-x86.exe / C / T: C: \ tmp \ KB908002 \ tmp, setup.exe e bootstrapper.msi

  4.   
  5. Siamo interessati i contenuti di bootstapper.msi, quindi si estrae il contenuto di questo file:

    msiexec /a bootstrapper.msi /qb TARGETDIR=C:\KB908002\tmp\
    cd tmp
    
  6.   
  7. Infine, copiamo la cartella di pacchetti che abbiamo estratto nella cartella di avvio automatico di Windows SDK

    xcopy /E "C:\KB908002\tmp\SDK\BootStrapper\Packages" "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages"
    
  8.   
  9. Ora, se si va a pre-requisiti lista in Visual Studio 2008 si vedrebbe la correzione elencata.

  10.   

Non credo che mettere il gruppo aggiuntivo in GAC è obbligatoria. Penso che tu stia manca solo un passo nella distribuzione.

Le applicazioni per l'ufficio come MS Word caricano i loro componenti aggiuntivi leggendo alcune voci di registro. Si sono molto probabilmente non la creazione di queste voci durante la distribuzione.

Per sapere i dettagli di tutta questa faccenda Registro di sistema, vedere questo articolo. Anche leggere sulla distribuzione di componenti aggiuntivi di Office in generale, vedere questo articolo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top