共用方式為


HOW TO:新增或移除內含清單項目 (2007 系統)

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 文件層級專案

  • 應用程式層級專案

Microsoft Office 版本

  • 2007 Microsoft Office system

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

Visual Studio Tools for Office 專案的安裝程式可在安裝的方案沒有受信任的憑證時,將方案加入至內含清單。安裝程式會顯示提示,且使用者可以回應並指示方案應受信任。如果您要在不提示使用者的情況下將方案加入至使用者內含清單,可以用程式設計的方式加入內含清單項目。

如需內含清單的詳細資訊,請參閱使用內含清單信任 Office 方案 (2007 系統)

下列程序使用主控台應用程式修改內含清單。您應該避免修改程式碼以接受使用者輸入。

如需影片示範,請參閱影片 HOW TO:新增或移除內含清單的項目 (2007 System)

將項目加入至內含清單

AddInSecurityEntry 項目加入至 UserInclusionList,方法是使用 Add 方法。

若要將方案加入至內含清單

  1. 在 Visual Studio 中建立 Visual Basic 或 Visual C# 主控台應用程式。

  2. 將參考加入至 Microsoft.VisualStudio.Tools.Office.Runtime.v9.0。

  3. 開啟 Module1.vb 或 Program.cs 檔進行編輯,然後將下列 Imports 或 using 陳述式加入至檔案的頂端。

    Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
    
    using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
    
  4. 開啟您要加入至內含清單之 Office 方案的部署資訊清單,並且找出會在 StrongNameSignature 節點下顯示的 RSAKeyValue 項目。

  5. RSAKeyValue 項目,包含所有子項目及 RSAKeyValue 標記複製至 [剪貼簿]。

  6. 將下列程式碼加入至 Main 方法,並且用從部署資訊清單複製的文字取代 PublicKey,然後用部署資訊清單的位置取代範例 URI

    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. 建置應用程式。

  8. 在執行 Visual Studio Tools for Office 方案的電腦上執行應用程式。由 solutionLocation 所代表且具有部署資訊清單的方案會加入至內含清單。

從內含清單移除項目

使用 UserInclusionList 類別的 Remove 方法移除項目。

若要從內含清單移除方案

  1. 在 Visual Studio 中建立 Visual Basic 或 Visual C# 主控台應用程式。

  2. 將參考加入至 Microsoft.VisualStudio.Tools.Office.Runtime.v9.0。

  3. 開啟程式碼檔進行編輯,然後將下列 Imports 或 using 陳述式加入至檔案的頂端。

    Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
    
    using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
    
  4. 將下列程式碼加入至 Main 方法,並且用您部署資訊清單的位置取代範例 URI。

    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. 建置應用程式。

  6. 在執行 Visual Studio Tools for Office 方案的電腦上執行應用程式。由 solutionLocation 所代表且具有部署資訊清單的方案會從內含清單移除。

請參閱

概念

使用內含清單信任 Office 方案 (2007 系統)

Office 方案中的安全性 (2007 系統)