2009-02-05 3 views
6

ClickOnce를 사용하여 Windows Forms 응용 프로그램을 게시합니다. 이 응용 프로그램의 전체 크기를 고려하면 설치가 상당히 큽니다. 15MB 이상입니다. 로컬로 빌드 된 애플리케이션을 압축하면 2.5 MB로 압축됩니다.ClickOnce 배포 된 응용 프로그램 설치를 압축 할 수 있습니까?

ClickOnce 배포를 어떻게해도 압축 할 수 있습니까?

그렇지 않은 경우 IIS 압축을 사용하여 전송 속도를 높이는 사람이 있습니까? 그게 도움이 되겠습니까?

답변

10

아는 한, 실제로 수동으로 어셈블리를 압축 할 수는 없습니다. 그러나 은 절대적으로 IIS 압축을 사용할 수 있습니다. 대역폭 모니터를 사용한 테스트에서 중요한 차이가 있습니다. 그리고 일단 설정되면, 그것에 대해 생각할 필요가 없습니다. 자동으로 발생합니다.

나는 이것이 더 자주 언급되지 않는다는 것에 놀랐습니다. 몇 년 전에이 작업을하고 싶었을 때 그 작업에 대한 정보가 거의 없었습니다. 그러나 this article은 IIS 6.0을 실행하는 경우 필요한 모든 변경 사항을 자세히 설명해야합니다. IIS의 최신 버전에 대한 지침이 얼마나 다른지 잘 모르겠습니다.

2

이러한 지침은 이후 버전의 IIS에서도 동일합니다. 이 압축은 매우 빠르게 작동합니다 (파일이 변경 될 때까지 백그라운드에서 한 번만 수행됩니다).

3

ClickOnce에는 내장 된 압축 지원 기능이 없습니다. 하지만 웹 서버 수준에서 HTTP 압축을 사용할 수 있습니다.

IIS7에서 압축을 사용하려면 다음 단계를 수행

을 % windir % \ system32 \ inetsrv \ 설정 \ applicationHost.config 파일 (내 의견을 참조, 다른 라인은 기본입니다)

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> 
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> 
    <dynamicTypes> 
     <add mimeType="text/*" enabled="true" /> 
     <add mimeType="message/*" enabled="true" /> 
     <add mimeType="application/x-javascript" enabled="true" /> 
     <add mimeType="*/*" enabled="false" /> 
    </dynamicTypes> 
    <staticTypes> 
     <add mimeType="text/*" enabled="true" /> 
     <add mimeType="message/*" enabled="true" /> 
     <add mimeType="application/x-javascript" enabled="true" /> 
     <add mimeType="application/atom+xml" enabled="true" /> 
     <add mimeType="application/xaml+xml" enabled="true" /> 
     <!--HERE! deploy files--> 
     <add mimeType="application/octet-stream" enabled="true" /> 
     <!--HERE! application files--> 
     <add mimeType="application/x-ms-application" enabled="true" /> 
     <!--HERE! manifest files--> 
     <add mimeType="application/x-ms-manifest" enabled="true" /> 
     <add mimeType="*/*" enabled="false" /> 
    </staticTypes> 
</httpCompression> 

그래도 작동이 안되는?? 이 파일을 같은 파일에 추가하십시오 (기본적으로 IIS 7.0은 "자주 요청하지 않는 한 파일을 압축하지 않습니다")

<serverRuntime frequentHitTimePeriod="00:00:59" /> 
관련 문제