HOW TO:新增或移除內含清單項目
正在安裝的方案沒有信任的憑證時,Office 方案的安裝程式可以加入內含清單項目。 安裝程式會顯示提示,而使用者可以回應並指出應該信任該方案。 如果您要在不提示使用者的情況下將方案加入至使用者內含清單,可以用程式設計的方式加入內含清單項目。 如需內含清單的詳細資訊,請參閱使用內含清單信任 Office 方案。
**適用於:**本主題中的資訊適用於 Microsoft Office 2010 和 2007 Microsoft Office system 的文件層級專案和應用程式層級專案。 如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
下列程序使用主控台應用程式修改內含清單。 您應該避免修改程式碼以接受使用者輸入。
如需此主題的影片版,請參閱影片 HOW TO:加入或移除內含清單項目 (英文)。
將項目加入至內含清單
將 AddInSecurityEntry 項目加入至 UserInclusionList,方法是使用 Add(AddInSecurityEntry) 方法。
若要將方案加入至內含清單
建立目標為 .NET Framework 3.5 的 Visual Basic 或 Visual C# 主控台應用程式或類別庫。
注意事項 如果您使用 Windows Installer 部署 Office 方案,可以將 Office 方案安裝至 Program Files 目錄,以免必須建立內含清單項目。
將參考加入至 Microsoft.VisualStudio.Tools.Office.Runtime.v10.0。
開啟 Module1.vb 或 Program.cs 檔進行編輯,然後將下列 Imports 或 using 陳述式加入至檔案的頂端。
Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
開啟您要加入至內含清單之 Office 方案的部署資訊清單,並且找出會在 StrongNameSignature 節點下顯示的 RSAKeyValue 項目。
將 RSAKeyValue 項目,包含所有子項目及 RSAKeyValue 標記複製至 [剪貼簿]。
將下列程式碼加入至 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); }
建置應用程式。
在執行 Visual Studio Tools for Office 方案的電腦上執行應用程式。 由 solutionLocation 所代表且具有部署資訊清單的方案會加入至內含清單。
從內含清單移除項目
使用 UserInclusionList 類別的 Remove(Uri) 方法移除項目。
若要從內含清單移除方案
建立目標為 .NET Framework 3.5 的 Visual Basic 或 Visual C# 主控台應用程式或類別庫。
將參考加入至 Microsoft.VisualStudio.Tools.Office.Runtime.v10.0。
開啟程式碼檔進行編輯,然後將下列 Imports 或 using 陳述式加入至檔案的頂端。
Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
將下列程式碼加入至 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); }
建置應用程式。
在執行 Visual Studio Tools for Office 方案的電腦上執行應用程式。 由 solutionLocation 所代表且具有部署資訊清單的方案會從內含清單移除。