2013-05-17 10 views
8

Ci sono molte domande e risposte incomplete su come scaricare e installare .NET Framework (s) se non sono disponibili ma nessuna il codice completo sembra essere disponibile su Internet.Esempio WiX completo * .wxs per scaricare e installare una versione specifica di .NET Framework, se non è disponibile

È possibile fornire un codice compilabile minimo o un collegamento a un chiaro esempio che genera un file setup.exe/MSI? Non penso che RTFM si applichi a questa domanda poiché MSI e gli installer bootstrap hanno un sacco di idiosincrasie che non sono facilmente deducibili.

+3

I downvotes senza commenti non sono molto utili. –

+0

Lo sviluppo è lo sviluppo. È una cattiva forma chiedere a qualcuno di fare il tuo lavoro per te. Se vuoi che sia facile, usa InstallShield. Basta fare clic sulla casella di controllo che dice .NET X e quindi selezionare Scarica da Web. Se funziona, bene. In caso contrario, la stessa complessità esiste ancora sotto le coperte. –

+4

Sono d'accordo solo con te quando qualcuno è un lurker. Sebbene l'implementazione della configurazione sia uno sviluppo, in termini di condivisione della community è in fondo. La tua soluzione non è ciò che ho chiesto. Sto cercando questo nel contesto di WiX. È banale farlo in un progetto di Visual Studio.E se non ricevo alcuna risposta, passerò il tempo a risolverlo da solo e a condividerlo con tutti. –

risposta

8

Nota, questa informazione è disponibile per intero nel manuale. Si può trovare nelle seguenti posizioni con gli esempi:

How To: Install the .NET Framework Using Burn

How To: Check for .NET Framework versions

WixNetfxExtension

Detto

Utilizzando WiX, non è possibile generare un MSI per l'installazione. Rete [X]. Tuttavia, è possibile utilizzarlo per generare un eseguibile del programma di installazione bootstrap.

Fortunatamente, l'installazione .Net è banalmente semplice in un progetto Bundle WiX. È sufficiente inserire un riferimento alla WixNetFxExtension.dll (dovrebbe essere in "[Wix posizione di installazione] \ bin") nel progetto fascio, e quindi includere il seguente nella vostra <Chain>:

<PackageGroupRef id="[.Net package]" /> 

dove [.Net package] è:

  • NetFx40Web
  • NetFx40Redist
  • NetFx40ClientWeb
  • 012.
  • NetFx40ClientRedist
  • NetFx45Web
  • NetFx45Redist

Ad esempio, un pacchetto che include il programma di installazione 4.5 Web .Net:

<Bundle Name="E.G." Version="1.0.0.0" Manufacturer="Me" UpgradeCode="[Guid]"> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/> 
    <Chain> 
     <PackageGroupRef Id="NetFx45Web" /> 
     <MsiPackage SourceFile="$(var.ExampleInstaller.TargetPath)" /> 
    </Chain> 
</Bundle> 

E se si sta utilizzando i pacchetti redist, è possibile eseguire l'installer compilato con -layout per scaricare i file in modo che possano essere masterizzati su un CD/DVD (utilizzando l'applicazione Standard Bootsrapper, le applicazioni personalizzate di bootstrapper possono o potrebbero non hanno funzionalità simili).

+0

Questa soluzione funziona per abilitare .NET Framework 3.5 su Windows 8 invece di scaricarlo dal web? Qual è il nome del pacchetto per questo OR esiste un supporto WiX per questo caso? Grazie. –

+1

Da quello che sono riuscito a trovare, no. Se .Net 3.5 è già installato e non abilitato, non penso che ci sia un modo semplice per abilitarlo da WiX. È possibile trovare le impostazioni di registro a cui corrisponde e fare confusione con esse, ma ciò può ottenere ... beh ... disordinato. Per _installing_ .Net 3.5, vedere [questa domanda] (http://stackoverflow.com/questions/12628922/using-wix3-6-to-install-net-framework-3-5-sp1-with-burn) – XGundam05

+0

Can mi punti nella direzione di come usare l'argomento '-layout'? L'ho cercato in base alle tue indicazioni ma non ho trovato alcuna documentazione o esempi. –