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 명령을 실행 할 수있는 쉬운 방법이?
... 환경을 ... 사용 권한이있는 앱을 실행하는 사용자 (admin/non-admin/restricted) ... 도메인/광고 환경의 특수 설정, 일부 그룹 정책 등 – Yahia
@Yahia 불행히도 그 범위를 좁히기가 까다로울 것입니다. 문제를 겪고있는 사용자가 로컬 컴퓨터의 모든 관리자였습니다. 댓글 주셔서 감사합니다 :) – woggles
올바른 태그가 system.web입니까? 나는 그것이 웹이 아니기 때문에 Word 부가 기능을 위해 뭔가 다른 것일 수도 있다고 생각합니다. –