2009-02-05 4 views
6

Ich veröffentliche Windows Forms-Anwendung mit ClickOnce. Die Installation ist ziemlich groß in Anbetracht der Gesamtgröße dieser App. Es ist etwas über 15 MB. Wenn ich eine lokal erstellte Anwendung komprimiere, wird sie auf 2,5 MB komprimiert.Kann das bereitgestellte ClickOnce-Anwendungs-Setup komprimiert werden?

Kann ClickOnce-Bereitstellung irgendwie komprimiert werden?

Wenn nicht, verwendet jemand IIS-Komprimierung, um Übertragungen zu beschleunigen? Würde das helfen?

Antwort

10

Soweit ich weiß, können Sie Ihre Baugruppen nicht wirklich manuell komprimieren. Sie können jedoch absolut IIS-Komprimierung verwenden. Von meinen Tests mit einem Bandbreitenmonitor macht es einen signifikanten Unterschied. Und sobald es eingerichtet ist, müssen Sie nie darüber nachdenken, es passiert einfach automatisch.

Ich bin überrascht, dass nicht öfter darüber gesprochen wird. Als ich dies vor ein paar Jahren tun wollte, konnte ich sehr wenig Information darüber finden. this article sollte jedoch alle Änderungen enthalten, die Sie vornehmen müssen, wenn Sie IIS 6.0 ausführen. Ich bin nicht sicher, wie unterschiedlich diese Anweisungen für spätere Versionen von IIS sind.

2

Diese Anweisungen sind für die spätere Version von IIS identisch. Diese Komprimierung funktioniert ziemlich schnell (es erfolgt im Hintergrund und nur einmal, bis die Datei geändert wird)

3

ClickOnce hat keine integrierte Komprimierungsunterstützung. Aber Sie können HTTP-Komprimierung auf Web-Server-Ebene verwenden.

Gehen Sie folgendermaßen vor Kompression unter IIS7 ermöglichen:

% windir% \ system32 \ inetsrv \ config \ applicationHost.config (siehe meine Kommentare, andere Linien sind Standard)

<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> 

Funktioniert immer noch nicht?? Fügen Sie dies der gleichen Datei hinzu (standardmäßig komprimiert IIS 7.0 keine Dateien, es sei denn, sie werden "häufig angefordert")

<serverRuntime frequentHitTimePeriod="00:00:59" /> 
Verwandte Themen