可以压缩ClickOnce部署的应用程序设置吗?

时间:2009-02-05 10:08:58

标签: .net iis deployment compression clickonce

我使用ClickOnce发布Windows窗体应用程序。考虑到这个应用程序的整体大小,安装非常大。它超过15 MB。如果我压缩本地构建的应用程序,它会被挤压到2.5 MB。

可以以某种方式压缩ClickOnce部署吗?

如果没有,是否有人使用IIS压缩加速转移?那会有帮助吗?

3 个答案:

答案 0 :(得分:10)

据我所知,您无法真正手动压缩程序集。但是,绝对可以使用IIS压缩。从带宽监视器的测试来看,它有很大的不同。一旦它成立,你就不必考虑它,它只是自动发生。

我很惊讶这不是经常谈论的。几年前,当我想要这样做时,我几乎找不到有关它的信息。但是,this article应详细说明运行IIS 6.0时需要进行的所有更改。我不确定这些说明对于IIS的更高版本会有多少不同。

答案 1 :(得分:3)

ClickOnce没有任何内置压缩支持。但您可以在Web服务器级别使用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" />

答案 2 :(得分:2)

对于更高版本的IIS,这些说明是相同的。这种压缩工作非常快(它在后台完成,只有一次,直到文件将被更改)