방법: ClickOnce 신뢰 프롬프트 동작 구성
최종 사용자가 Windows Forms 응용 프로그램, Windows Presentation Foundation 응용 프로그램, 콘솔 응용 프로그램, WPF 브라우저 응용 프로그램 및 Office 솔루션 같은 ClickOnce 응용 프로그램을 설치할 수 있는지 여부를 제어하도록 ClickOnce 신뢰 프롬프트를 구성할 수 있습니다. 신뢰 프롬프트는 각 최종 사용자의 컴퓨터에서 레지스트리 키를 설정하여 구성합니다.
다음 표에서는 5개의 각 영역(Internet, UntrustedSites, MyComputer, LocalIntranet, TrustedSites)에 적용할 수 있는 구성 옵션을 보여 줍니다.
옵션 |
레지스트리 설정 값 |
설명 |
---|---|---|
신뢰 프롬프트를 사용하도록 설정합니다. |
Enabled |
최종 사용자가 ClickOnce 응용 프로그램에 신뢰를 부여할 수 있도록 ClickOnce 신뢰 프롬프트가 표시됩니다. |
신뢰 프롬프트를 제한합니다. |
AuthenticodeRequired |
ClickOnce 응용 프로그램이 게시자를 식별하는 인증서로 서명된 경우에만 ClickOnce 신뢰 프롬프트가 표시됩니다. |
신뢰 프롬프트를 사용하지 않도록 설정합니다. |
Disabled |
명시적으로 신뢰할 수 있는 인증서로 서명되지 않은 ClickOnce 응용 프로그램의 경우 ClickOnce 신뢰 프롬프트가 표시되지 않습니다. |
다음 표에서는 각 영역의 기본 동작을 보여 줍니다. 응용 프로그램 열은 Windows Forms 응용 프로그램, Windows Presentation Foundation 응용 프로그램, WPF 브라우저 응용 프로그램 및 콘솔 응용 프로그램을 나타냅니다.
영역 |
응용 프로그램 |
Office 솔루션 |
---|---|---|
MyComputer |
Enabled |
Enabled |
LocalIntranet |
Enabled |
Enabled |
TrustedSites |
Enabled |
Enabled |
Internet |
Enabled |
AuthenticodeRequired |
UntrustedSites |
Disabled |
Disabled |
ClickOnce 신뢰 프롬프트를 사용하도록 설정하거나 제한하거나 사용하지 않도록 설정하여 이 설정을 재정의할 수 있습니다.
ClickOnce 신뢰 프롬프트를 사용하도록 설정
최종 사용자가 특정 영역에서 가져온 ClickOnce 응용 프로그램을 설치하고 실행할 수 있도록 하려면 해당 영역에 대해 신뢰 프롬프트를 사용하도록 설정합니다.
레지스트리 편집기를 사용하여 ClickOnce 신뢰 프롬프트를 사용하도록 설정하려면
레지스트리 편집기를 엽니다.
시작을 클릭한 다음 실행을 클릭합니다.
열기 상자에 regedit32를 입력한 다음 확인을 클릭합니다.
다음 레지스트리 키를 찾습니다.
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel
해당 키가 없으면 만듭니다.
문자열 값으로 다음 하위 키가 아직 없으면 해당 하위 키와 다음 표에 나와 있는 관련 값을 추가합니다.
문자열 값 하위 키
값
Internet
Enabled
UntrustedSites
Disabled
MyComputer
Enabled
LocalIntranet
Enabled
TrustedSites
Enabled
Office 솔루션의 경우 Internet에는 기본값인 AuthenticodeRequired가 지정되고 UntrustedSites에는 Disabled 값이 지정됩니다. 나머지 경우에는 모두 Internet에 기본값인 Enabled가 지정됩니다.
ClickOnce 신뢰 프롬프트를 프로그램 방식으로 사용하도록 지정하려면
Visual Studio에서 Visual Basic 또는 Visual C# 콘솔 응용 프로그램을 만듭니다.
편집할 Program.vb 또는 Program.cs 파일을 열고 다음 코드를 추가합니다.
Dim key As Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel") key.SetValue("MyComputer", "Enabled") key.SetValue("LocalIntranet", "Enabled") key.SetValue("Internet", "Enabled") key.SetValue("TrustedSites", "Enabled") key.SetValue("UntrustedSites", "Disabled") key.Close()
Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel"); key.SetValue("MyComputer", "Enabled"); key.SetValue("LocalIntranet", "Enabled"); key.SetValue("Internet", "AuthenticodeRequired"); key.SetValue("TrustedSites", "Enabled"); key.SetValue("UntrustedSites", "Disabled"); key.Close();
응용 프로그램을 빌드하고 실행합니다.
ClickOnce 신뢰 프롬프트 제한
사용자에게 신뢰 여부를 결정하라는 메시지가 표시되기 전에 알려진 ID가 있는 Authenticode 인증서로 솔루션에 서명해야만 하도록 신뢰 프롬프트를 제한할 수 있습니다.
레지스트리 편집기를 사용하여 ClickOnce 신뢰 프롬프트를 제한하려면
레지스트리 편집기를 엽니다.
시작을 클릭한 다음 실행을 클릭합니다.
열기 상자에 regedit를 입력한 다음 확인을 클릭합니다.
다음 레지스트리 키를 찾습니다.
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel
해당 키가 없으면 만듭니다.
문자열 값으로 다음 하위 키가 아직 없으면 해당 하위 키와 다음 표에 나와 있는 관련 값을 추가합니다.
문자열 값 하위 키
값
UntrustedSites
Disabled
Internet
AuthenticodeRequired
MyComputer
AuthenticodeRequired
LocalIntranet
AuthenticodeRequired
TrustedSites
AuthenticodeRequired
ClickOnce 신뢰 프롬프트를 프로그램 방식으로 제한하려면
Visual Studio에서 Visual Basic 또는 Visual C# 콘솔 응용 프로그램을 만듭니다.
편집할 Program.vb 또는 Program.cs 파일을 열고 다음 코드를 추가합니다.
Dim key As Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel") key.SetValue("MyComputer", "AuthenticodeRequired") key.SetValue("LocalIntranet", "AuthenticodeRequired") key.SetValue("Internet", "AuthenticodeRequired") key.SetValue("TrustedSites", "AuthenticodeRequired") key.SetValue("UntrustedSites", "Disabled") key.Close()
Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel"); key.SetValue("MyComputer", "AuthenticodeRequired"); key.SetValue("LocalIntranet", "AuthenticodeRequired"); key.SetValue("Internet", "AuthenticodeRequired"); key.SetValue("TrustedSites", "AuthenticodeRequired"); key.SetValue("UntrustedSites", "Disabled"); key.Close();
응용 프로그램을 빌드하고 실행합니다.
ClickOnce 신뢰 프롬프트를 사용하지 않도록 설정
최종 사용자가 보안 정책에서 아직 신뢰되지 않은 솔루션을 설치할 수 없도록 신뢰 프롬프트를 사용하지 않도록 설정할 수 있습니다.
레지스트리 편집기를 사용하여 ClickOnce 신뢰 프롬프트를 사용하지 않도록 설정하려면
레지스트리 편집기를 엽니다.
시작을 클릭한 다음 실행을 클릭합니다.
열기 상자에 regedit를 입력한 다음 확인을 클릭합니다.
다음 레지스트리 키를 찾습니다.
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel
해당 키가 없으면 만듭니다.
문자열 값으로 다음 하위 키가 아직 없으면 해당 하위 키와 다음 표에 나와 있는 관련 값을 추가합니다.
문자열 값 하위 키
값
UntrustedSites
Disabled
Internet
Disabled
MyComputer
Disabled
LocalIntranet
Disabled
TrustedSites
Disabled
ClickOnce 신뢰 프롬프트를 프로그램 방식으로 사용하지 않도록 지정하려면
Visual Studio에서 Visual Basic 또는 Visual C# 콘솔 응용 프로그램을 만듭니다.
편집할 Program.vb 또는 Program.cs 파일을 열고 다음 코드를 추가합니다.
Dim key As Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel") key.SetValue("MyComputer", "Disabled") key.SetValue("LocalIntranet", "Disabled") key.SetValue("Internet", "Disabled") key.SetValue("TrustedSites", "Disabled") key.SetValue("UntrustedSites", "Disabled") key.Close()
Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel"); key.SetValue("MyComputer", "Disabled"); key.SetValue("LocalIntranet", "Disabled"); key.SetValue("Internet", "Disabled"); key.SetValue("TrustedSites", "Disabled"); key.SetValue("UntrustedSites", "Disabled"); key.Close();
응용 프로그램을 빌드하고 실행합니다.
참고 항목
작업
방법: ClickOnce 응용 프로그램의 보안 영역 설정
방법: ClickOnce 응용 프로그램에 대한 사용자 지정 권한 설정
방법: 제한된 권한으로 ClickOnce 응용 프로그램 디버깅
방법: ClickOnce 응용 프로그램의 클라이언트 컴퓨터에 신뢰할 수 있는 게시자 추가