2016-12-23 6 views
1

타사 소프트웨어 "DevExpress"를 사용하는 대형 클릭 응용 프로그램이 있습니다. DevExpress DLL은 내 응용 프로그램 크기의 95 %를 차지합니다. 그들은 절대로 바뀌지 않지만 업데이트를 배포 할 때마다 FTP 서버에 업로드해야합니다. DevExpress 파일에 대해이 클릭 연결 애플리케이션과 연결된 별도의 패키지가있는 방법이 있습니까?ClickOnce : 절대 변경되지 않는 대용량 파일 배포 안 함

참고 : 클라이언트 측에서는 이것을 한 번 클릭하면 효율적으로 관리되며 변경되지 않은 파일은 다운로드되지 않습니다.

감사

+0

Infragistics 구성 요소로 GAC – McNets

+0

에 설치할 수 있다고 가정합니다. clickonce 프로세스에 DLL을 별도로 설치하지 않아도됩니다. 이 프로세스는 일회성 클릭과 같이 최종 사용자에게 투명해야합니다. – Acanocois

+0

배치에 포함될 파일을 선택할 수 있습니다 (프로젝트 속성 참조). 실제 설정에이 파일을 포함하지 않으면 사용자가 다음에 응용 프로그램을 실행할 때 삭제됩니다. – McNets

답변

0

당신은 GAC에 이르렀 같은 종류 인 어셈블리를 지역화 할 수는 만 그들은 (다른 ClickOnce를 어셈블리 포함)은 % USERPROFILE % 폴더에 묻혀됩니다.

이 작업은 App.Config 파일에서 선언 한 다음 프로젝트 내에서 각 어셈블리를 "제외"로 설정하여 수행합니다. 파일이 지역화하는 경우 클릭 한 번 배포 실행, 그것은 확인합니다

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="DevExpress.BonusSkins.v16.1" culture="neutral" publicKeyToken="B88D1754D700E49A"/> 
     <codeBase version="16.1.4.0" href="http://YourUrl/DevExpress/16.1.4/DevExpress.BonusSkins.v16.1.dll"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="DevExpress.Charts.Designer.v16.1" culture="neutral" publicKeyToken="B88D1754D700E49A"/> 
     <codeBase version="16.1.4.0" href="http://YourUrl/DevExpress/16.1.4/DevExpress.Charts.Designer.v16.1.dll"/> 
     </dependentAssembly> 

처음 : 여기에 귀하의 app.config가 같이 할 필요가 무엇의 조각입니다. 그렇다면, 그것을 사용할 것입니다. 그렇지 않은 경우에는 한 번만 다운로드합니다 (한 번만).

장점 :

  • 귀하의 클릭 - 일단 배포 (EXE)의 배포가 큰 만들기에 대한 걱정없이 지금
  • 당신은 보너스 스킨처럼 당신이 원하는 모든 멋진 데브 예 어셈블리를 추가 할 수 있습니다 정말 작
  • 이 어떤 작동
  • 는 DLL 아니라 데브 익스프레스 서명
  • 그냥 클릭 한 번 좋아하는
  • 업데이트합니다 (GAC 솔루션, 그가 의지)이 작업을 수행하기 위해 관리자 권한이 필요하지 않는 사용자 귀하의 응용 프로그램은 빠른 빨리됩니다
  • 사용자에게 완전히 투명합니다. 여섯 사용자가에 로그온 그래서 만약 당신이, 당신은 그것은 당 사용자입니다
  • 를 업그레이드 할 때의 app.config를 관리 할 필요가

    • : 모두

    단점을 설치 초기에 자동으로 발생 동일한 컴퓨터에서 6 번 DLL을 복사 중입니다.

이것은 UNC 경로에서도 작동합니다. 사용자가 모두 내부에 있으면 웹 참조가 필요하지 않습니다.