Je crée un programme d'installation pour une application de bureau Windows, qui dépend d'un autre produit nécessitant .NET 3.5
Lors de l'installation sur Windows 10, .NET 3.5 est inclus et doit être activé dans Ajout / Suppression de fonctionnalités Windows. Je ne pense pas qu'il soit valide d'installer une version téléchargeable de .NET 3.5 sur Windows 10 (corrigez-moi si je me trompe!).
Alors, y a-t-il un moyen d'obtenir WiX pour activer la "fonctionnalité" .NET 3.5 plutôt que de la télécharger et de l'installer?
3 Réponses :
Je ne sais pas si c'est la méthode correcte , mais vous pouvez essayer une action personnalisée avec la commande suivante
dism.exe /online /enable-feature /featurename:NetFx3
Vous pouvez obtenir une liste de toutes les fonctionnalités disponibles en dism / online / get-features
si vous souhaitez essayer d'autres fonctionnalités de Windows.
Vous pourrez peut-être l'invoquer à partir d'un ensemble setup.exe
? Sachez que cela peut être mal vu de ne pas demander à l'utilisateur - mais je suppose que cela demandera à l'utilisateur?
J'ai également eu beaucoup d'échecs, puis des gens appellent pour dire qu'ils ne peuvent pas installer même si vous mettez un message informatif indiquant qu'il s'agit d'un problème Microsoft / OS. Parce que cela s'est produit dans votre installateur, c'est votre problème. En règle générale, pour les choses difficiles, j'aime que l'utilisateur le fasse lui-même et échoue l'installation avec une condition de lancement jusqu'à ce qu'il le fasse.
@ SteinÅsmul J'utiliserais un autre msi de configuration pour encapsuler cette action personnalisée, ou utiliserais directement
. sth comme
- pas testé cependant
Exemples WiX : quelques liens potentiellement utiles en général:
- Démarrage rapide WiX Suggestions (avec des exemples de liens) .
- https: // helgeklein. com / blog / 2014/09 / exemple-du-monde-réel-wix-msi-application-installer /
Outils alternatifs : gardez peut-être à l'esprit que les outils commerciaux ont des fonctionnalités plus faciles à utiliser pour diffuser rapidement votre produit. WiX est excellent cependant.
- Outils MSI (comparaison de différents outils MSI)
- Sur WiX, configurez l'interface graphique et les outils commerciaux
Prérequis : Je vous suggère d'ajouter une LaunchCondition au package pour abandonner l'installation si le framework .NET n'est pas là. Vous pouvez regrouper le framework .NET avec votre application, mais je ne recommande vraiment pas que: Prérequis obsolètes dans les packages . p>
LaunchCondition : Le concept de LaunchConditions vérifie qu'une certaine condition est vraie avant que l'installation ne puisse continuer:
- Vérifiez si les prérequis sont installés avant d'installer un package d'installation Windows (veuillez au moins vérifier ce lien - si vous ne vérifiez pas les autres liens)
- Une réponse antérieure sur LaunchConditions .
Exemple rapide et intégré :
<Condition Message="The .NET Framework 2.0 must be installed"> Installed OR NETFRAMEWORK20 </Condition>
WiX et .NET Framework : certaines mesures intégrées pour détecter le cadre .NET.
- Comment: vérifier les versions de .NET Framework (documentation officielle de WiX)
- Comment vérifier pour .net framework 4.7.1 avec Wix 3.11
- Comment puis-je détecter si .NET Framework 4.6.1 ou supérieur est installé sur WiX?
Link
Il existe un moyen d'installer .NET 3.5 sur Windows 10 et le dernier Windows Server: pour mettre à jour une valeur de stratégie de groupe qui permettra de télécharger .NET 3.5 ( article de blog ).
... ouvrez l'invite de commande et tapez "gpedit". L '«Éditeur de stratégie d'ordinateur local» s'ouvre et nous pouvons localiser le paramètre nécessaire sous «Configuration ordinateur»> «Modèles d'administration»> «Système». Sur le côté gauche, sous "Paramètres", nous pouvons trouver un paramètre nommé "Spécifier les paramètres pour l'installation et la réparation des composants en option" C'est ce que nous allons modifier. Ouvrons-le et cochez «Activé», puis cochez la deuxième option - «Télécharger le contenu de réparation et les fonctionnalités facultatives directement à partir de Windows Update au lieu de Windows Server Update Services (WSUS)» et cliquez sur «OK»: Maintenant, si nous réessayons d'ajouter le .NET Framework 3.5, nous pouvons voir qu'il réussit ...
Personnellement, je rétablis ensuite ce paramètre de stratégie à sa valeur d'origine, s'il était différent.
En toute honnêteté, la manière correcte est de ne pas l’installer . Comme nous l'avons dit par MS .NET 4.x devrait être rétrocompatible. Vous devriez l'éviter comme la peste. De plus, il existe maintenant des versions pour développeurs (> 3.14) de wixtoolset qui piratent le registre pour éviter aux utilisateurs d'avoir à installer cet ancien "malware" .