Modifiche WiX necessarie per semplificare l'installazione di .NET 3.5 per i computer Vista (e superiori)

StackOverflow https://stackoverflow.com/questions/624614

Domanda

Abbiamo deciso di fare il grande passo e richiedere che i nostri utenti abbiano installato .NET 3.5 prima di poter utilizzare il nostro plug-in media center.

Voglio assicurarmi che l'esperienza di installazione sia il più fluida possibile e che il nostro programma di installazione rimanga piccolo.

Quali modifiche devo apportare al mio File WiX per supportare i seguenti scenari? Esempi di codice sarebbero molto apprezzati.

  • L'utente ha installato .Net framework 3.0, installazione interattiva.

Comportamento desiderato : all'utente viene visualizzata una finestra in cui viene indicato che è necessaria una nuova versione del framework, se accetta, viene scaricato e quindi eseguito dotNetFx35setup.exe (2,7 MB). Infine, l'installazione procede.

  • L'utente ha installato .Net framework 3.0, installazione non interattiva.

Sfondo : per facilitare gli aggiornamenti automatici dall'interno di Media Center, possiamo eseguire " msiexec.exe / qb / i mediabrowser.msi " se un utente sceglie di aggiornare una versione esistente.

Comportamento desiderato : all'utente viene visualizzata una finestra in cui viene indicato che necessita di una nuova versione del framework, se accetta, viene scaricato e quindi eseguito dotNetFx35setup.exe (2,7 MB). Infine, l'installazione procede silenziosamente.

Esistono altri progetti open source che implementano qualcosa di simile?

Domanda correlata : . NET 3.5 un pre-requisito ragionevole per un plug-in media center?

È stato utile?

Soluzione 4

Da Rob Mensching lo sviluppatore principale di WiX: questo è uno scenario chiave per Burn (il futuro) sviluppato bootstrapper del set di strumenti WiX.)

Quindi no, non esiste un modo integrato per bloccare il processo con WiX puro. Puoi scrivere il tuo proprio bootstrapper .

Altri suggerimenti

Credo che l'installazione di .NET rientri nelle responsabilità di un bootstrapper setup.exe, prima che venga lanciato il tuo msi. WIX non ha (ancora) un suo modo per generare un bootstrapper (o, in caso affermativo, non è documentato in wix.chm). Al contrario, è possibile utilizzare l'attività msbuild GenerateBootStrapper per generare un setup.exe. Dai un'occhiata all'argomento " Come: installare .NET Framework usando un Bootstrapper " nella documentazione di wix. Per installare .NET 3.5 SP1 tramite download, il tuo file msbuild vorrebbe questo:

<Project ToolsVersion="3.5"
   xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <BootstrapperFile Include="Microsoft.Windows.Installer.3.1" >
           <ProductName>Windows Installer 3.1</ProductName>
        </BootstrapperFile>
        <BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >
           <ProductName>Microsoft DotNet Framework 3.5 SP1</ProductName>
        </BootstrapperFile>
    </ItemGroup>

    <Target Name="SetupExe">
        <GenerateBootstrapper
            ApplicationFile="myproduct.msi"
            ApplicationName="myproduct"
            BootstrapperItems="@(BootstrapperFile)"
            Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\"
            OutputPath="path/to/put/setup/"
            Culture="en"/>
    </Target>

</Project>

Se si salva quanto sopra in un file setup.msbuild, è possibile creare la propria configurazione invocando

  

C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ msbuild.exe   setup.msbuild

Puoi anche installare .NET dal tuo CD di installazione piuttosto che scaricarlo. Aggiungi ComponentsLocation = " Relative " ; agli attributi di GenerateBootstrapper.

dotNetInstaller supporta tutto questo

Per farlo dovrai usare un bootstrapper. Microsoft Installer non ti consentirà di dare il via a un altro programma di installazione una volta che uno è già in esecuzione. Esiste un generatore di bootstrap che puoi usare dai file msbuild inclusi in Visual Studio oppure puoi guardare molte delle opzioni open source.

dotNetInstaller è un'opzione popolare. E " Masterizza " è il nome del prossimo strumento in WiX per questa attività. Ma per ora è ancora un concept.

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