Freigeben über


Gewusst wie: Hinzufügen oder Entfernen von Aufnahmelisteneinträgen

Das Setupprogramm für Office-Projektmappen kann der Aufnahmelisteneinträge 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.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und Anwendungsebene für Microsoft Office 2010 und 2007 Microsoft Office System. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

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

Link zu Video Eine Videodemonstration zu diesem Thema finden Sie unter Video How to: Add or Remove Inclusion List Entries.

Hinzufügen von Einträgen zur Aufnahmeliste

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

So fügen Sie der Aufnahmeliste eine Projektmappe hinzu

  1. Erstellen Sie eine Visual Basic- oder Visual C#-Konsolenanwendung oder eine Visual Basic- oder Visual C#-Klassenbibliothek, die auf .NET Framework 3.5 ausgerichtet ist.

    Tipp

    Wenn Sie eine Office-Projektmappe mit Windows Installer bereitstellen, können Sie Office-Projektmappen im Verzeichnis "Programme" installieren, und Sie müssen keinen Eintrag in der Aufnahmeliste erstellen.

  2. Fügen Sie einen Verweis auf "Microsoft.VisualStudio.Tools.Office.Runtime.v10.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(Uri)-Methode der UserInclusionList-Klasse entfernt.

So entfernen Sie eine Projektmappe aus der Aufnahmeliste

  1. Erstellen Sie eine Visual Basic- oder Visual C#-Konsolenanwendung oder eine Visual Basic- oder Visual C#-Klassenbibliothek, die auf .NET Framework 3.5 ausgerichtet ist.

  2. Fügen Sie einen Verweis auf "Microsoft.VisualStudio.Tools.Office.Runtime.v10.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

Weitere Ressourcen

Sichern von Office-Projektmappen