2013-06-19 22 views
6

ho usato WiX 3.7 per scrivere un programma di avvio automatico che .net installa 4,5 prima e poi della mia domanda MSI:Qual è la differenza tra NetFx45WebLink e NetFx45RedistLink

<Chain> 
    <PackageGroupRef Id="NetFx45Redist"/> 
    <MsiPackage Id="MainAppPackage" 
       After="NetFx45Redist" 
       SourceFile="..\bin\Debug\MyApp.msi"/> 
</Chain> 

Il WiX documentation dice che NetFx45Redist è una configurazione stand-alone, mentre il NetFx45Web è una configurazione web. Dopo aver creato il bootstrapper con ID impostato su NetFx45Redist, aveva le stesse dimensioni rispetto a quando lo ho creato con l'ID NetFx45Web specificato. Ero curioso quindi ho scaricato i sorgenti WiX (v3.7). Sono stato sorpreso di vedere che c'era poca differenza tra i due elementi PackageGroup.

Il DownloadUrl per NetFx45Web è http://go.microsoft.com/fwlink/?LinkId=225704, mentre quello per NetFx45Redist è http://go.microsoft.com/fwlink/?LinkId=225702. Secondo l'attributo RemotePayload\@SizeNetFx45Web è 1005568 byte e NetFx45Redist è 50352408 byte.

Mi aspettavo che il NetFx45Redist includesse l'installazione .net 4.5 nel mio bootstrapper e non sarà richiesto alcun download. Vedo che è sbagliato Quale PackageGroup dovrei usare allora e qual è la differenza tra le 2 installazioni .net 4.5 scaricate?

risposta

7

Entrambi i gruppi di pacchetti sono creati per scaricare i file da Microsoft. Entrambi forniscono impostazioni complete di framework Microsoft .NET 4.0. Quello più piccolo è un bootstrapper che scarica quindi solo i pezzi mancanti del sistema. Quello più grande ha tutti i pezzi di cui un sistema potrebbe aver bisogno.

È un po 'sorprendente che WixNetFxExtension non offra un gruppo di pacchetti non scaricabile. Ma, dato che hai già sbirciato nel codice sorgente NetFx4.5.wxs, dovrebbe essere semplice copiare gli attributi che vuoi nel tuo gruppo di pacchetti.

EDIT:

Vorrei anche sottolineare che un bootstrapper accetta argomenti della riga di comando come descritto here. -layout dvd scaricherà i pacchetti in una cartella denominata dvd, che può essere utilizzata per l'installazione off-line. (Ovviamente, NetFx45Web non sarebbe appropriato per questo.)

+1

Ho giocato un po 'con esso ed ecco cosa ho trovato: 1) quando il programma di installazione web viene scaricato occupa meno spazio ma durante le riparazioni l'intero .net framework deve essere scaricato nuovamente se manca 2) quando il programma di installazione standalone viene scaricato richiede circa 50 MB in più (che si riflette nelle dimensioni dell'applicazione in Programmi e funzionalità) ma durante il download non è richiesto il download. – ceco