Можно ли сжать установку развернутого приложения ClickOnce? - PullRequest
6 голосов
/ 05 февраля 2009

Я публикую приложение Windows Forms, используя ClickOnce. Установка довольно большая, учитывая общий размер этого приложения. Это что-то более 15 МБ. Если я сжимаю приложение, созданное локально, оно уменьшается до 2,5 МБ.

Может ли развертывание ClickOnce быть сжато каким-либо образом?

Если нет, кто-нибудь использует сжатие IIS для ускорения передачи? Это поможет?

Ответы [ 3 ]

10 голосов
/ 05 февраля 2009

Насколько я знаю, вы не можете сжать свои сборки вручную. Однако вы абсолютно можете использовать сжатие IIS. Из моего тестирования с монитором пропускной способности, это имеет существенное значение. И как только он настроен, вам больше не нужно об этом думать, просто это происходит автоматически.

Я удивлен, что об этом не говорят чаще. Когда я хотел сделать это несколько лет назад, я мог найти очень мало информации об этом. Однако в этой статье должны быть подробно описаны все изменения, которые необходимо внести, если вы используете IIS 6.0. Я не уверен, насколько эти инструкции будут отличаться для более поздних версий IIS.

3 голосов
/ 23 февраля 2011

ClickOnce не имеет встроенной поддержки сжатия. Но вы можете использовать HTTP-сжатие на уровне веб-сервера.

Выполните следующие шаги, чтобы включить сжатие в IIS7 :

% WINDIR% \ system32 \ Inetsrv \ Config \ 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 голосов
/ 30 июня 2009

Эти инструкции одинаковы для более поздней версии IIS. Это сжатие работает довольно быстро (оно выполняется в фоновом режиме и только один раз, пока файл не будет изменен)

...