2009-02-05 9 views
6

Pubblico l'applicazione Windows Form utilizzando ClickOnce. L'installazione è abbastanza grande considerando la dimensione complessiva di questa app. È qualcosa di più di 15 MB. Se comprimo un'applicazione creata localmente, viene compressa a 2,5 MB.Può essere compresso ClickOnce l'installazione dell'applicazione distribuita?

Può ClickOnce la distribuzione essere compressa in qualche modo?

In caso contrario, qualcuno sta utilizzando la compressione IIS per accelerare i trasferimenti? Questo sarebbe d'aiuto?

risposta

10

Per quanto ne so, non è possibile comprimere manualmente i propri assiemi. Tuttavia, è assolutamente possibile utilizzare la compressione IIS. Dai miei test con un monitor a banda larga, fa una differenza significativa. E una volta impostato, non devi mai pensarci, succede automaticamente.

Sono sorpreso che non si parli più spesso. Quando volevo farlo qualche anno fa, potevo trovare pochissime informazioni a riguardo. Tuttavia, this article dovrebbe dettagliare tutte le modifiche che è necessario apportare se si esegue IIS 6.0. Non sono sicuro di quanto queste istruzioni siano diverse per le versioni successive di IIS.

2

Queste istruzioni sono le stesse per la versione successiva di IIS. Questa compressione funziona abbastanza velocemente (viene eseguita in background e solo una volta finché il file non verrà modificato)

3

ClickOnce non ha alcun supporto di compressione incorporato. Ma puoi usare la compressione HTTP a livello di web server.

Seguire questa procedura per abilitare la compressione sotto IIS7:

% windir% \ system32 \ inetsrv \ config \ applicationHost.config (vedere i miei commenti, le altre linee sono di default)

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

Continua a non funzionare?? Aggiungere questo allo stesso file (per impostazione predefinita, IIS 7.0 non comprime i file a meno che non vengano "richiesti di frequente")

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