보안 설정으로 인해 ClickOnce 응용 프로그램을 설치할 수 없음 (Windows 10)


70

Microsoft에서 서명 한 ClickOnce 응용 프로그램을 설치하려고하면 "컴퓨터에 보안 위험이있을 수 있으므로 관리자가이 응용 프로그램을 차단했습니다."및 "보안 설정으로 인해이 응용 프로그램을 컴퓨터에 설치할 수 없습니다"라는 오류가 나타납니다. .

이 정책을 설정 한 관리자로서 필자는 일생 동안 PC가 동일한 이미지를 기반으로하는 다른 사용자가 아닌 한 명의 사용자에 대해서만 차단되는 이유와 다른 사용자가 사용해야하는 이유를 파악할 수 없습니다. 다음 메시지를 수신 한 사용자와 동일한 권한을 즐기십시오. 오류가 발생한이 사용자와 오류가없는 사용자에게 정확히 동일한 도메인 그룹 정책이 적용됩니다.

임 구르

"관리자 권한으로"응용 프로그램을 실행해도 문제가 해결되지 않습니다. 이벤트 로그에 오류가 표시되지 않으며 문제 진단에 도움이되는 로그를 찾을 수 없습니다.

이 응용 프로그램을 허용하거나 거부하는 로컬 정책 또는 설정은 무엇입니까?


msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx 에 따라 인터넷 또는 인트라넷 영역 (CD-ROM 설치를위한 완전 신뢰) 이 필요합니다.

이 경고는 단일 사용자의 컴퓨터에서 발생하거나 여러 사용자의 여러 컴퓨터에서 발생하며이 문제가 있습니까?
Ramhound

나는 아마도 분명히 명확하지는 않지만 원래의 질문에서 '단 한 명의 사용자'에 대해 차단되고 있다고 언급했습니다.
Beems

이것은 큰 문제처럼 보입니다 (34,438 뷰). 개발자 인 경우 다른 사람의 컴퓨터에서이 문제가 발생하는 것을 어떻게 막을 수 있습니까? 이 문제는 Visual Studio에서 프로그램을 만들고 내 프로그램에 대해 Setup.exe를 실행하려고 할 때 발생했습니다.
Daniel

: 응용 프로그램이 에스컬레이션을 필요로하지 않는 경우 @Daniel, 당신은 대신 HKCU 아래의 레지스트리 값을 설정하려고 할 수 있습니다 HKCU\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\InternetEnabled(전체 공개 :이 테스트하지했습니다). 그렇지 않으면 작동하지 않는 경우 HKLM
Beems

답변:


94

이것은 "ClickOnce 신뢰 프롬프트 동작"때문입니다. https://msdn.microsoft.com/en-us/library/ee308453.aspx

이를 조정하려면 레지스트리에서 값을 변경하기 만하면 응용 프로그램을 설치할 수 있습니다.

레지스트리 편집기를 사용하여 ClickOnce 신뢰 프롬프트를 활성화하려면 레지스트리 편집기를 엽니 다.

시작을 클릭 한 다음 실행을 클릭하십시오.

열기 상자에 regedit32를 입력 한 다음 확인을 누릅니다.

다음 레지스트리 키를 찾으십시오.

\ HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ .NETFramework \ Security \ TrustManager \ PromptingLevel

키가 없으면 작성하십시오.

다음 하위 키가없는 경우 다음 표에 표시된 관련 값과 함께 문자열 값으로 추가하십시오.

테이블 이미지

내 컴퓨터에서 값이 "사용 안 함"으로 설정되었으며 어떤 응용 프로그램을 수행했는지 전혀 알 수 없습니다. 값을 기본값으로 변경했으며 이제 모든 것이 정상적으로 작동합니다.

또는 "TrustManager"키 자체를 삭제하면 모든 것이 제대로 작동합니다.



14
고마워, 이것은 실제로 문제였습니다. 나는 변경 "HKLM\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internet"Enabled지금은 의도 한대로 - 그것은 작동합니다.
Beems

1
신뢰할 수없는 사이트를 제외한 모든 사이트에 대해 기본 옵션이 "사용"으로되어 있습니다.
Hooch

3
내 경우에는 내가 변경할 필요 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevelEnabled
MaciejLisCK

2
인터넷, LocalIntranet, MyComputer, TrustedSites, UntrustedSites와 같이 영역마다 다른 항목이 있습니다. 시나리오에 맞는 것을 선택하고 값을로 변경하십시오 Enabled.
smwikipedia

4
일반 사용자는 어떻게해야합니까? 좋아, 나는 누군가가 바보가 아니라면 구글을 검색하고이 답변을 찾아서 할 수 있다는 것을 의미한다. 만약 윈도우가 생산성을위한 최고의 OS가 아니었다면 나는이 쓰레기 (그리고 자동 업데이트 강제 재부팅)를
참지

2

다음은 값을 업데이트하는 powershell 스크립트입니다.

Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'Internet' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'LocalIntranet' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'MyComputer' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'TrustedSites' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'UntrustedSites' -value 'Enabled'

"상승 된"powershell에서 위의 코드를 복사 / 붙여 넣기 만하면 충분합니다 (관리자로 마우스 오른쪽 단추 클릭).

그리고 오류가 발생하면 경로가 존재하지 않기 때문일 수 있습니다.이 명령을 실행하십시오.

New-Item "HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel" -force | Out-Null
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'Internet' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'LocalIntranet' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'MyComputer' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'TrustedSites' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'UntrustedSites' -value 'Enabled'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.