Freigeben über


Gewusst wie: Hinzufügen oder Entfernen von Aufnahmelisteneinträgen (2007 System)

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • 2007 Microsoft Office System

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Das Setupprogramm für Visual Studio Tools for Office-Projekte kann der Aufnahmeliste Projektmappen hinzufügen, wenn die Projektmappe, die installiert wird, über kein vertrauenswürdiges Zertifikat verfügt. Das Setupprogramm zeigt eine Eingabeaufforderung an, und Benutzer können daraufhin angeben, dass die Projektmappe vertrauenswürdig ist. Wenn Sie die Projektmappe der Aufnahmeliste des Benutzers hinzufügen möchten, ohne dass dieser eine Eingabeaufforderung erhält, können Sie einen Aufnahmelisteneintrag programmgesteuert hinzufügen.

Weitere Informationen zu Aufnahmelisten finden Sie unter Gewähren von Vertrauenswürdigkeit für Office-Projektmappen mithilfe von Aufnahmelisten (2007 System).

In den folgenden Verfahren werden Konsolenanwendungen verwendet, um die Aufnahmeliste zu ändern. Sie sollten den Code möglichst nicht ändern, um Benutzereingaben zuzulassen.

Eine Videodemonstration finden Sie unter in-Gewusst wie: Hinzufügen oder Entfernen von Aufnahmelisteneinträgen (2007 System).

Hinzufügen von Einträgen zur Aufnahmeliste

Fügen Sie AddInSecurityEntry-Elemente zur UserInclusionList mit der Add-Methode hinzu.

So fügen Sie der Aufnahmeliste eine Projektmappe hinzu

  1. Erstellen Sie in Visual Studio eine Visual Basic- oder Visual C#-Konsolenanwendung.

  2. Fügen Sie einen Verweis auf Microsoft.VisualStudio.Tools.Office.Runtime.v9.0 hinzu.

  3. Öffnen Sie die Datei Module1.vb oder Program.cs zur Bearbeitung, und fügen Sie am Anfang der Datei folgende Imports-Anweisung bzw. using-Anweisung hinzu.

    Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
    
    using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
    
  4. Öffnen Sie das Bereitstellungsmanifest für die Office-Projektmappe, die Sie der Aufnahmeliste hinzufügen, und suchen Sie das RSAKeyValue-Element, das unter dem StrongNameSignature-Knoten angezeigt wird.

  5. Kopieren Sie das RSAKeyValue-Element, einschließlich aller untergeordneten Elemente und der RSAKeyValue-Tags in die Zwischenablage.

  6. Fügen Sie der Main-Methode den folgenden Code hinzu, und ersetzen Sie PublicKey durch den kopierten Text aus dem Bereitstellungsmanifest und den Beispiel-URI durch den Speicherort des Bereitstellungsmanifests.

    Dim publicKey As String = "<RSAKeyValue><Modulus>mUl8MhOil1fKLKYpHItsyCGNXxGJW74L8d4zOVwSvLDP1qoXF0lLqf/Ql8yO+31zuFbx8Aer3eQz9tcb/pz0NJREdbeOvxYa+nHTnR3j7rRUkmE8AKzvcG8BmTlgbprXaY0QTln8syHTC7yY5AA+xibwatFMpEpEBRqF5MmsGkE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>"
    Dim solutionLocation As New _
        Uri("http://DeploymentServer/MySolution/MySolution.vsto")
    Dim entry As AddInSecurityEntry
    
    Try
        entry = New AddInSecurityEntry(solutionLocation, publicKey)
        UserInclusionList.Add(entry)
    
    Catch e As ArgumentNullException
        Console.WriteLine(("Exception: " + e.Message))
    End Try
    
    string publicKey = "<RSAKeyValue><Modulus></Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
    Uri solutionLocation = new Uri(@"http://DeploymentServer/MySolution/MySolution.vsto");
    
    AddInSecurityEntry entry;
    
    try
    {
        entry = new AddInSecurityEntry(solutionLocation, publicKey);
        UserInclusionList.Add(entry);
    }
    
    catch (ArgumentNullException e)
    {
        Console.WriteLine("Exception: " + e.Message);
    }
    
  7. Erstellen Sie die Anwendung.

  8. Führen Sie die Anwendung auf dem Computer aus, auf dem die Visual Studio Tools for Office-Projektmappe ausgeführt wird. Die Projektmappe mit dem Bereitstellungsmanifest, das durch solutionLocation dargestellt wird, wird der Aufnahmeliste hinzugefügt.

Entfernen von Einträgen aus der Aufnahmeliste

Einträge werden mithilfe der Remove-Methode der UserInclusionList-Klasse entfernt.

So entfernen Sie eine Projektmappe aus der Aufnahmeliste

  1. Erstellen Sie in Visual Studio eine Visual Basic- oder Visual C#-Konsolenanwendung.

  2. Fügen Sie einen Verweis auf Microsoft.VisualStudio.Tools.Office.Runtime.v9.0 hinzu.

  3. Öffnen Sie die Codedatei zur Bearbeitung, und fügen Sie am Anfang der Datei die folgende Imports-Anweisung bzw. using-Anweisung hinzu.

    Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
    
    using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
    
  4. Fügen Sie der Main-Methode den folgenden Code hinzu, und ersetzen Sie den Beispiel-URI durch den Speicherort des Bereitstellungsmanifests.

    Dim solutionLocation As New _
        Uri("http://DeploymentServer/MySolution/MySolution.vsto")
    Try
        UserInclusionList.Remove(solutionLocation)
    
    Catch e As ArgumentNullException
        Console.WriteLine(("Exception: " + e.Message))
    End Try
    
    Uri solutionLocation = new Uri("http://DeploymentServer/MySolution/MySolution.vsto");
    
    try
    {
        UserInclusionList.Remove(solutionLocation);
    }
    
    catch (ArgumentNullException e)
    {
       Console.WriteLine("Exception: " + e.Message);
    }
    
  5. Erstellen Sie die Anwendung.

  6. Führen Sie die Anwendung auf dem Computer aus, auf dem die Visual Studio Tools for Office-Projektmappe ausgeführt wird. Die Projektmappe mit dem Bereitstellungsmanifest, das durch solutionLocation dargestellt wird, wird aus der Aufnahmeliste entfernt.

Siehe auch

Konzepte

Gewähren von Vertrauenswürdigkeit für Office-Projektmappen mithilfe von Aufnahmelisten (2007 System)

Sicherheit in Office-Projektmappen (2007 System)