Modifications WiX requises pour rationaliser l'installation .NET 3.5 pour les machines Vista (et supérieures)

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

Question

Nous avons décidé de franchir le pas et demander à nos utilisateurs de disposer de .NET 3.5 avant de pouvoir utiliser notre plug-in de centre multimédia.

Je veux m'assurer que l'expérience d'installation est la plus fluide possible et que notre installateur reste petit.

Quelles modifications dois-je apporter à mon Fichier WiX pour prendre en charge les scénarios suivants? Des exemples de code seraient très appréciés.

  • L'utilisateur a .Net framework 3.0 installé, installation interactive.

Comportement souhaité : une fenêtre s'affiche pour indiquer à l'utilisateur qu'elle a besoin d'une nouvelle version du cadre. Si elle accepte, dotNetFx35setup.exe (2,7 Mo) est téléchargé, puis exécuté. Enfin, l'installation se poursuit.

  • L'utilisateur a .Net Framework 3.0 installé, installation non interactive.

Arrière-plan : pour faciliter les mises à jour automatiques à partir de Media Center, vous pouvez exécuter le script "msiexec.exe / qb / i mediabrowser.msi". si un utilisateur choisit de mettre à niveau une version existante.

Comportement souhaité : une fenêtre s'affiche pour indiquer à l'utilisateur qu'elle a besoin d'une nouvelle version du cadre. Si elle accepte, dotNetFx35setup.exe (2,7 Mo) est téléchargé, puis exécuté. Enfin, l'installation se déroule en silence.

Existe-t-il d'autres projets open source qui implémentent quelque chose dans ce sens?

Question connexe : est-ce que . NET 3.5 est-il un prérequis raisonnable pour un plugin multimédia?

Était-ce utile?

La solution 4

De Rob Mensching , principal développeur de WiX: C’est un scénario clé pour Burn (le futur développement du jeu d’outils WiX.)

Donc non, il n’existe pas de moyen intégré de stramer le processus avec WiX pure. Vous pouvez écrire votre votre propre logiciel d'amorçage .

Autres conseils

Je pense que l'installation de .NET relève de la responsabilité d'un programme d'amorçage setup.exe, avant le lancement de votre msi. WIX n'a ??pas (encore) sa propre façon de générer un programme d'amorçage (ou, si c'est le cas, il n'est pas documenté dans wix.chm). À la place, vous pouvez utiliser la tâche msbuild GenerateBootStrapper pour générer un fichier setup.exe. Consultez la rubrique " Procédure: installer le .NET Framework à l'aide d'un programme d'amorçage " dans la documentation de wix. Pour installer .NET 3.5 SP1 par téléchargement, votre fichier msbuild souhaite ceci:

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

Si vous enregistrez ce qui précède dans un fichier setup.msbuild, vous pouvez construire votre configuration en appelant

  

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

Vous pouvez également installer .NET à partir de votre CD d’installation plutôt que de le télécharger. Ajoutez simplement ComponentsLocation = " Relative " ; aux attributs de GenerateBootstrapper.

dotNetInstaller prend en charge tout cela

Pour ce faire, vous devez utiliser un programme d’amorçage. Microsoft Installer ne vous autorisera pas à lancer un autre programme d’installation s’il est déjà en cours d’exécution. Il existe un générateur d'amorçage que vous pouvez utiliser à partir des fichiers msbuild inclus avec Visual Studio, ou vous pouvez consulter de nombreuses options open source.

dotNetInstaller est une option populaire. Et " Burn " est le nom du prochain outil WiX pour cette tâche. Mais cela reste du concept pour le moment.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top