Frage

Ich habe eine Word-Add-In-Komponente erstellt und ein Visual Studio Setup-Projekt um die Komponente zu installieren.

Auf einer saubere Maschine mit Office 2003 installiert hat, scheint es nicht möglich zu sein, um die Add-In-Komponente zu laden, in Word zu erhalten.

das Problem googeln legt nahe, dass dies, weil die Versammlung nicht vertrauenswürdig ist. Ich habe die Versammlung voll Vertrauen mit dem Kommandozeilen-Tool:

caspol -af AssemblyName.dll

Das macht keinen Unterschied und die compenent ist noch nicht in Word geladen. caspol druckt eine Meldung "Weil alle immer GAC Baugruppen volles Vertrauen bekommen, die volle Vertrauen Liste ist nicht mehr sinnvoll. Sie sollten alle Baugruppen installieren, die in Sicherheit verwendet werden Politik im GAC zu gewährleisten, dass sie vertrauenswürdig sind "

Ändern der Installateur die Assembly im GAC setzen ermöglicht es richtig in Word zu laden. Aber die Komponente kann gemeinsame Baugruppen in Zukunft nutzen müssen, geteilt zwischen unseren anderen .NET-Anwendungen, und das Hinzufügen dieser Bibliotheken zu dem GAC würde unerwünscht sein.

Wer weiß, wie die Sicherheit setzen der Komponente zu ermöglichen geladen werden, wenn außerhalb des GAC installiert?

War es hilfreich?

Lösung

Sie können manuell den folgenden Befehl ausführen Sicherheit setzen das Wort, damit die Montage von außerhalb des GAC laufen. Dadurch wird eine neue Gruppe mit voller Vertrauen, das ist es, was die Montage erlaubt auszuführen.

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

Microsoft ein Beispiel für benutzerdefinierte Aktionen für einen Installateur auf der folgenden Website hat Link zu MSDN , die können Sie diesen Befehl als Installateur benutzerdefinierte Aktion einzubeziehen.

Andere Tipps

Sie auf jeden Fall müssen nicht Ihre assembies zu dem GAC installieren, noch ist es notwendig, eine Sicherheitsrichtlinie auf der Add-In-Assembly zu definieren.

Sind Sie mit .NET 2.0 mit Office 2003? Office 2003 und Office XP haben beide ein Problem Laden .NET 2.0-Add-Ins. Sie bekommen geladen .NET 1.1 Framework (falls auf der Maschine, die sehr wahrscheinlich ist). Sie müssen deshalb mit dem Office-Installation flicken Geteilt-Add-In Support Update für das Microsoft .NET Framework 2.0 (KB908002) .

Sie sollten auf jeden Fall um diesen Patch auf die Voraussetzungen Ihres Installateurs.

Weitere Informationen in der Antwort finden auf diese Fragen .

Und natürlich müssen Sie die richtige Version der PIAs auf dem Zielsystem installiert haben (fast vergessen dieser Punkt, falsche oder fehlende PIAs eines der Hauptprobleme ist, warum Add-Ins werden nicht geladen).

Aktualisieren : KB908002 erfordert VS 2005 auf dem PC, um die Shared-Add-In Support Update auf die Voraussetzungen Dialog der Setup-Projekte hinzuzufügen. Die folgende Problemumgehung muss in diesem Fall verwendet werden:

Wenn Sie mit Visual Studio 2008, dann müssen Sie die Abhilfe unten genannten KB908002 unter Add Voraussetzungen aufgeführt zu erhalten Dialog:

  
      
  1. Laden und installieren Sie das Update auf einer Maschine, die Visual Studio 2005 installiert ist.
  2.   
  3. Navigieren Sie zu . C: \ Programme \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bootstrap \ Packages , suchen KB908002-Ordner
  4.   
  5. Melden Sie sich auf der Maschine, die Visual Studio 2008 installiert und kopieren KB908002-Ordner C hat: \ Programme \ Microsoft SDKs \ Windows \ V6.0A \ Bootstrapper \ Packages
  6.   
  7. Nun, wenn Sie auf Visual Studio 2008 Maschine Voraussetzungen Liste gehen Sie das Update aufgeführt.
  8.   

Eine andere Möglichkeit, wo Sie nicht brauchen, VS 2005 überhaupt wäre:

  
      
  1. Laden Sie das Update in einen temporären Ordner.
  2.   
  3. Sie eine Eingabeaufforderung öffnen, zum Ordner, in dem das Update befindet, und starten Sie den folgenden Befehl, um die Dateien aus der selbstextrahierende Installationsdatei zu extrahieren:

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

    Jetzt den Ordner C: \ KB908002 drei Dateien enthalten, VS2005-KB908002-enu-x86.exe / C / T: C: \ tmp \ KB908002 \ tmp, setup.exe und bootstrapper.msi

  4.   
  5. Wir interessieren uns für die Inhalte von bootstapper.msi, so dass wir extrahieren den Inhalt dieser Datei:

    msiexec /a bootstrapper.msi /qb TARGETDIR=C:\KB908002\tmp\
    cd tmp
    
  6.   
  7. Schließlich kopieren wir die Ordner Pakete, die wir den Bootstrap-Ordner des Windows SDK extrahierten

    xcopy /E "C:\KB908002\tmp\SDK\BootStrapper\Packages" "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages"
    
  8.   
  9. Wenn Sie nun Voraussetzungen gehen zur Liste in Visual Studio 2008 Sie würden das Update aufgeführt.

  10.   

Ich glaube nicht, die Add-In-Assembly in GAC setzt zwingend vorgeschrieben ist. Ich glaube, du bist nur ein Schritt in der Bereitstellung fehlt.

Die Office-Anwendungen wie MS Word laden ihre Add-In durch bestimmte Registry-Einträge zu lesen. Sie sind am ehesten diese Einträge nicht während des Einsatzes zu schaffen.

Um die Details all diesen Registrierungs Unternehmen finden Sie unter this Artikel. Auch über die Bereitstellung von Office-Add-Ins im Allgemeinen zu lesen, finden Sie unter diese Artikel

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top