문제

저는 상업용 제품을 생산하는 회사를 위해 일하고 있으며 현재 일부 대규모 고객이 ClickOnce를 통해 응용 프로그램의 클라이언트 측을 배포 할 수있는 솔루션을 제공하려고 노력하고 있습니다.

의도는 고객이 ClickOnce 설치를 네트워크 공유에 배치 한 다음 이메일 또는 다른 수단을 통해 클라이언트에 대한 응용 프로그램에 대한 링크를 보낼 것입니다.

ClickOnce 설치의 생산을 자동화 된 빌드 (MAGE 명령 줄 도구 사용)에 성공적으로 통합 할 수 있었으며 클라이언트 시스템에서 실제 설치를 성공적으로 실행할 수 있습니다. 그러나 설치 및 출시 후, 우리의 응용 프로그램은 파일 지구에 대한 액세스가 거부되기 때문에 런타임시 보안 예상을 던집니다. 우리의 응용 프로그램에는 풀 트러스트 권한이 필요하지만 실행 어셈블리의 코드베이스 위치가 네트워크 공유 인 경우 LocalIntranet 권한 만 부여받는 것으로 보입니다 (FileIopermission은 포함되지 않음).

여기에는 이것이 일반적인 문제라는 것을 나타내는 기사가 있습니다.http://blogs.msdn.com/shawnfa/archive/2004/12/30/344554.aspx

이 기사에서 Caspol 도구를 사용하여 해결 방법이 제공되지만 배포 환경의 모든 단일 클라이언트 시스템에서이를 실행해야합니다. 이는 실제로 문제가되지 않습니다. CASPOL 도구로 수행되는 작업을 수행하기 위해 클라이언트 컴퓨터의 관리자 권한이 필요하다는 사실이 더 중요하며 고객 환경의 대부분의 고객에게는 이러한 권한이 없습니다.

.NET 3.5 SP1의 릴리스와 함께 CASPOL FIX를 실행해야 할 필요성이 완화되었음을 암시하는 것으로 보이는 동일한 블로그에 기사가 게시되었습니다.http://blogs.msdn.com/shawnfa/archive/2008/05/12/fulltrust-on-the-localintranet.aspx

그러나이 기사에 자세히 설명 된대로 프레임 워크의 SP1 릴리스를 구체적으로 타겟팅하기 위해 응용 프로그램을 수정했습니다.http://msdn.microsoft.com/en-us/library/bb398202.aspx#

이 작업을 수행 한 후에도 여전히 동일한 보안 예상이 발생했습니다. 그래서 나는 기사에 자세히 설명 된대로 특정 SP1 ClickOnce 설정을 적용했지만 여전히 기쁨은 없습니다. 게시 네트워크 공유에서 직접 응용 프로그램을 시작하면 권한이 부여되면 Clickonce의 맥락에서만 거부당한 것 같습니다.

다른 사람이 이것들과 비슷한 문제를 해결 했습니까? 이 권한과 관련하여 프레임 워크의 SP1 릴리스에 문제가 있다면 아직 ClickOnce 솔루션을 배송하지 않았기 때문에 다른 사람이 우리 앞에 알아 차렸을 것이라고 생각했을 것입니다.

도움이 되었습니까?

해결책

점심 시간에 보안 예외가있는 .NET 4.0에서 비슷한 문제가 발생했다고 생각합니다. 내가 찾은 솔루션은 승인 된 인증서로 매니페스트에 디지털로 서명하는 것이 었습니다 (프로젝트를 위해 하나의 Visual Studio가 생성하는 기본값이 아닙니다).

ClickOnce 배포 매니페스트에서 알려진 "버그"(또는 디자인)입니다.

프로젝트에 서명 되었습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top