방법: 포함 목록 항목 추가 또는 제거
설치하려는 Office 솔루션에 신뢰할 수 있는 인증서가 없는 경우 Office 솔루션의 설치 프로그램에서 포함 목록 항목을 추가할 수 있습니다. 설치 프로그램에서 메시지를 표시하면 사용자가 응답하여 솔루션을 신뢰할 수 있음을 나타낼 수 있습니다. 사용자에게 메시지를 표시하지 않고 사용자의 포함 목록에 솔루션을 추가하려는 경우에는 포함 목록 항목을 프로그래밍 방식으로 추가할 수 있습니다. 포함 목록에 대한 자세한 내용은 포함 목록을 사용하여 Office 솔루션 신뢰를 참조하십시오.
적용 대상: 이 항목의 정보는 Microsoft Office 2010 및 2007 Microsoft Office system의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.
다음 절차에서는 콘솔 응용 프로그램을 사용하여 포함 목록을 수정합니다. 사용자 입력을 허용하도록 코드를 수정하면 안 됩니다.
이 항목의 비디오 버전을 보려면 Video How to: Add or Remove Inclusion List Entries (2007 System)를 참조하십시오.
포함 목록에 항목 추가
Add(AddInSecurityEntry) 메서드를 사용하여 UserInclusionList에 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이 나타내는 배포 매니페스트가 포함된 솔루션이 포함 목록에서 제거됩니다.