2011-08-26 4 views
3

VSTO 단어 addin의 특정 사용자에 대해 Throw 된 TrustNotGrantedException이 발생합니다.VSTO word addin에서 TrustNotGrantedException 디버깅

이 사용자에게는 인증서가 올바르게 설치되어 있습니다.

업데이트에 대한 응용 프로그램 검사 할 때 예외가 발생되고 :

try 
{ 
    ApplicationDeployment.CurrentDeployment.CheckForUpdate() 
} 
catch(TrustNotGrantedException ex) 
{ 
    Log(ex); 
} 

스택 추적이 기록됩니다 다음과 같이

User has refused to grant required permissions to the application. 

    at System.Deployment.Application.ApplicationTrust.RequestTrust(SubscriptionState subState, Boolean isShellVisible, Boolean isUpdate, ActivationContext actCtx, TrustManagerContext tmc) at System.Deployment.Application.DeploymentManager.DetermineTrustCore(Boolean blocking, TrustParams tp) at System.Deployment.Application.DeploymentManager.DetermineTrust(TrustParams trustParams) at System.Deployment.Application.ApplicationDeployment.CheckForDetailedUpdate(Boolean persistUpdateCheckResult) at System.Deployment.Application.ApplicationDeployment.CheckForUpdate() at iReport.iReportAddIn.CheckForUpdates() 

는 사람이 경험하거나이를 방지하는 방법을 알고 있음 코드 또는 다른 해결 방법이 있습니까?

편집 :

나는 문제에 대한이 blog post을 읽고 그것이 문제 사용자를위한 CAS 권한에 문제가 될 수 있었던 것처럼 보인다.

나는 이것을 사용하여 업데이트 URL에 문제가있는 사용자 액세스 권한을 부여하고 개별 클라이언트 컴퓨터를 수정하는 대신 코드에서이를 방지 할 수있는 방법을 선호합니다. 뭔가 같이 :

caspol -m -ag 1 -url "http://machinename/application/*" FullTrust -exclusive on 

Edit2가 : caspol.exe를 사용

일했다! 누구든지 코드에서 이런 일이 발생하지 않도록하는 방법을 알고 있습니까? 아니면 왜 사용자를 선택하는 것만이 일어날 수 있는지 설명 할 수 있습니까?

EDIT3 :

나는의 app.config에

<system.web> 
    <!-- level="[Full|High|Medium|Low|Minimal]" --> 
    <trust level="Full" originUrl=""/> 
</system.web> 

를 추가

Edit4 시도거야 : 응용 프로그램에 전체 CAS의 신뢰를 추가

을 .config가 도움이되지 않았습니다. 누구든지 CASPOL이 코드에서 수행중인 것을 달성 할 수 있다면 나를 보여줄 수 있습니까?

Edit5 :

이 코드에서이 작업을 수행 할 수없는 경우 ClickOnce를 일부 설치로 CASPOL 명령을 실행 할 수있는 쉬운 방법이?

+0

... 환경을 ... 사용 권한이있는 앱을 실행하는 사용자 (admin/non-admin/restricted) ... 도메인/광고 환경의 특수 설정, 일부 그룹 정책 등 – Yahia

+0

@Yahia 불행히도 그 범위를 좁히기가 까다로울 것입니다. 문제를 겪고있는 사용자가 로컬 컴퓨터의 모든 관리자였습니다. 댓글 주셔서 감사합니다 :) – woggles

+0

올바른 태그가 system.web입니까? 나는 그것이 웹이 아니기 때문에 Word 부가 기능을 위해 뭔가 다른 것일 수도 있다고 생각합니다. –

답변

0

최근 버전의 Windows에서 다운로드 한 파일은 차단됨으로 플래그가 지정되어 있으며 샌드 박스화로 인해 다른 앱에서 사용할 때 파손될 수있는 보안 제한이 있습니다.

구현시 NTFS alternate streams을 사용합니다. 파일이 차단 된 경우 파일을 마우스 오른쪽 버튼으로 클릭하고 등록 정보를보고 unblock 버튼을 보면 알 수 있습니다. 차단 해제를 클릭하면 stream이 제거되고 추가 보안 제한 사항이 해제됩니다.

sysinternalsstreams.exe을 사용하여 제거 할 수도 있습니다.Windows 7 컴퓨터에서 플러그인을 다운로드하고 문제를 일으키는 지 여부를 테스트 한 다음 차단 해제없이 설치하여 문제가 재현되는지 확인하십시오.

관련 문제