Domanda

Come posso avere il mio pacchetto Wix per scaricare il .NET Framework richiesto quando non è ancora installato nel computer del client? Ho già la condizione per verificare la versione .NET installata ma non sono sicuro di come scaricarla e installarla quando non viene trovata.

ClickOnce lo fa automaticamente controllando i prerequisiti nelle pagine delle proprietà. Devo solo averlo fatto in Wix a causa di altri requisiti.

Grazie!

È stato utile?

Soluzione

AGGIORNAMENTO ago 2017: Questa bella risposta ora sembra obsoleta. Leggi anche le altre risposte nella sezione " thread " per alcune diverse opzioni di "bootstrapper".


Il pacchetto MSI creato da Wix non è in grado di farlo. Windows Installer è piuttosto limitato e un file MSI (programma di installazione) non può chiamare un altro file MSI (programma di installazione di .NET Framework).

Dovrai creare un cosiddetto bootstrapper (un file setup.exe) in grado di verificare i pre-requisiti specificati, scaricarli e installarli secondo necessità, quindi avviare il programma di installazione MSI.

Un modo per creare il bootstrapper è utilizzare Visual Studio o l'attività GenerateBootstrapper di MSBuild. Ecco un link che fornisce maggiori dettagli:

  

http: //wix.mindcapers .com / wiki / Bootstrapper

Se si desidera fornire un singolo programma di installazione ai propri utenti, è possibile creare un pacchetto di installazione autogonfiante contenente sia il file setup.exe che il pacchetto MSI. Potresti farlo con iexpress , in arrivo con Windows.

Ecco un altro link che fornisce un esempio: http://www.clariusconsulting.net/blogs/pga/comments/42831.aspx

Altri suggerimenti

Wix conterrà il proprio bootstrapper chiamato burn. Dai un'occhiata a http://robmensching.com/ blog / post / 2009/7/14 / Lets talk-su-Burn

DotNetInstaller è anche raccomandato da molti sviluppatori come valido e solido bootstrapper.

AGGIORNAMENTO : URL aggiornato a DotNetInstaller, agosto 2017.

Questo è ora supportato da WiX 3.6. La documentazione è ancora imprecisa, ma per cominciare, guarda Come: Installare .NET Framework usando masterizzare .

In wix 3.6 usando il bootstrapper tutto ciò che serve per aggiungere .net 4.0 come prerequisito da scaricare se richiesto è ..

a) Aggiungi un riferimento al file WixNetFxExtension.dll nel tuo progetto di app Bootstrapper / Bootstrapper gestito

b) Aggiungi quanto segue come primo elemento della tua catena ..

<PackageGroupRef Id="NetFx40Web"/>

È proprio così!

Ulteriori informazioni qui: wixnetfxextension documentazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top