다양한 경험을 통해 웹을 통해 배포하기 위해 ClickOnce를 여러 번 사용했습니다. 내가 줄 것 포인터는 다음과 같습니다
- 응용 프로그램이 하나의 정적 산출물이 있는지 확인
- 배포 및 응용 프로그램의 동적 건물을 피하고, 특히 기반 매니페스트를 구축 (즉
mage.exe
를 사용하여 플러그 인 아키텍처와 관련하여, 서버 측 명단 ID 및/또는 사용 권한)
- 응용 프로그램의 인증을 제어하면 ClickOnce는 보안 웹 사이트에서 응용 프로그램을 쉽게 다운로드 할 수 있다는 점에서 엄청나게 제한적입니다. 선택 사항은 here을 참조하십시오.
- 필수 구성 요소를 배포하지 않거나 최소한으로 유지하십시오. 예를 들어 .NET Framework 만 있으면 SQL을 표현할 수 있습니다.
- 응용 프로그램에 중요한 권한 (예 : HKLM 레지스트리 변경)이 필요하지 않아야합니다. 응용 프로그램은 궁극적으로 로그온 한 사용자의 문서 폴더에서 실행되며 다운로드 할 때 사용자가 관리자인지 여부를 알 수 없습니다.
- 확인 된 Authenticode 인증서가있는 ClickOnce 매니페스트에 서명
- 배달 서비스가 업데이트되는 것과 관련하여 ClickOnce는 배달 서비스가 정적이고 적절한 위치에서 업데이트되면이 작업을 매우 잘 처리합니다. 배포 옵션에는 "설치 및 실행"옵션과 "실행 전용"옵션이 있습니다. 둘 다 배포면에서 완전히 동일하며 파일을 같은 위치에 복사하기 때문에 사용 권한은 동일합니다. 유일한 차이점은 설치 버전이 시작 메뉴에 항목을 만들고 프로그램을 추가/제거한다는 점입니다. 업데이트는 이름과 버전을 기반으로합니다. 설치된 버전의 경우 업데이트가 필수는 아니지만 실행 전용 옵션은 최신 제공 물을 가져옵니다. 인도 물이 변경되지 않았고 사용자가 이미 애플리케이션을 다운로드 한 경우 다시 다운로드하지 않고 홀딩 디렉토리에서 시작합니다.
기술은 매우 멋지지만 몇 가지주의해야 할 점이 있습니다.
유용한 정보 감사! 내 응용 프로그램에는 많은 권한이 필요합니다 (예 : 로컬로 파일을 읽고 쓰고 심지어 USB 장치에 연결해야 함). 그게 나에게 큰 문제가 될까? 설치시 권한 상승을 요청할 수 있음을 이해합니다. –
설치 프로그램 자체가 없기 때문에 큰 문제 중 하나입니다. 모든 종속 어셈블리를 로컬에 포함해야하며, 예를 들어 어셈블리를 GAC에 설치할 수 없습니다. 실행 파일 옆에있는 표고를 요구하는 매니페스트를 포함시킬 수 있다고 생각합니다. 그러나 사용자가 관리자 인 경우 아무런 문제가 없습니다. – fletcher
내 유일한 사전 요구 사항은 .NET 4이므로 확인을해야합니다. 사용자가 관리자라고 가정해야 할 것입니다. 응용 프로그램에 필요한 유형의 정보가 필요할 것입니다. 감사! –