Installation de .Net 3.5 sur Windows 2012 R2

13

J'essaie donc d'installer .net 3.5 sur un serveur Windows 2012 R2. J'ai essayé via la fonction Ajouter et via DISM les deux échouent.

Lorsque j'essaie via l'interface graphique d'ajout de fonctionnalités, j'utilise le «Spécifier un autre chemin d'accès». Cela échoue avec l'erreur «Échec de l'installation d'un ou de plusieurs rôles, services de rôle ou fonctionnalités»

Lorsque j'essaie via un Elevated PowerShell d'utiliser DISM, j'utilise la commande suivante.

dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs 

Cela échoue avec

Erreur: 0x800f0906 Les fichiers source n'ont pas pu être téléchargés. Utilisez l'option "source" pour spécifier l'emplacement des fichiers requis pour restaurer la fonctionnalité. Pour plus d'informations sur la spécification d'un emplacement source, voir http://go.microsoft.com/fwlink/?LinkId=243077

Le fichier journal DISM se trouve dans C: \ Windows \ Logs \ DISM \ dism.log

J'ai suivi la base de connaissances répertoriée ci-dessus (243077) pour définir l'emplacement de la stratégie de groupe pour le dossier SXS. Redémarré et toujours la même erreur. Le journal DSIM affiche les éléments suivants

Échec lors du traitement de la commande enable-feature. - CPackageManagerCLIHandler :: ExecuteCmdLine (heure: 0x800f0906)

Un rapide google montre que beaucoup de gens ont des problèmes avec cela et que vous devez désinstaller KB2966826 et KB2966828 que ce serveur n'a pas non plus installé.

J'ai également essayé l'installateur .Net hors ligne et il est dit que je dois l'ajouter via les fonctionnalités de Windows. Toutes les commandes ont été exécutées en tant qu'administrateur et via une invite élevée.

En écrivant ceci, j'ai recherché remarqué les "Questions similaires" et j'ai regardé ce Impossible d'installer .net 3.5 sur Windows Server 2012

Fonctionnement

dism.exe /online /enable-feature /featurename:NetFX3 /all

Produit la même erreur que ci-dessus.

Zapto
la source
Si quelqu'un a déjà géré ce serveur, il est probable qu'il ait supprimé cette fonctionnalité en supprimant les fichiers binaires du système d'exploitation. 2012 vous permet désormais de supprimer les fichiers inutiles pour les rôles que vous ne prévoyez pas d'installer. C'est pourquoi il vous demande un chemin alternatif vers les fichiers d'installation. Effectuez une recherche PowerShell pour votre commande et elle vous dira comment spécifier ce chemin alternatif.
Jon
Si vous avez installé KB2919355 (mise à jour 1), vous devez utiliser les fichiers source qui ont KB2919355 intégré. C'est la seule façon pour moi que ça marche.
Peter Hahndorf
avez-vous installé des packages MUI supplémentaires?
magicandre1981
@ magicandre1981 Pas de MUI, il s'agit d'une nouvelle installation de Windows. Nous travaillons sur 1 application par serveur (virtuel). J'essaierai vos suggestions.
Zapto
Utilisez-vous WSUS? Vous pouvez définir un paramètre dans la stratégie de groupe qui indique à Windows de ne pas rechercher ces fichiers dans WSUS, car il ne peut pas être une source d'installation pour cela.
briantist

Réponses:

13

La commande que j'utilise pour installer .NET Framework 3.5 sur Windows 8.1 et Server 2012 R2 est:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs

Où D: \ est le lecteur ISO ou DVD monté. La seule différence avec la vôtre est le / LimitAccess , mais je crois que c'est la partie importante, car elle l'empêche de tenter de contacter Windows Update ou WSUS. Pour une raison quelconque, cet aspect (contacter Windows Update) est totalement rompu pour .NET Framework 3.5 sur Windows 8 / 8.1 et Server 2012 / 2012R2 et entraînera toujours son échec.

Voir également: http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx

Joshua McKinnon
la source
beaucoup plus facile que serverfault.com/a/633171/157373
Jason Pyeron
Pour tous ceux qui recherchent le fichier cab dans le dossier sxs, vous pouvez le télécharger depuis androidfilehost.com/?fid=745425885120760819 . De plus, le lien d'information dans la réponse est maintenant archivé et peut être trouvé sur le lien ci-dessous docs.microsoft.com/en-us/archive/blogs/askcore/… .
Sam
6

J'ai eu le même problème lorsque je monte le disque d'installation de Windows ou utilise le DVD physique, et voici comment je l'ai résolu:

  1. Créez un dossier sous root (C: \ NetFx3 par exemple)
  2. Copiez microsoft-windows-netfx3-ondemand-package.cab à partir d'un disque d'installation de Windows. \ Sources \ sxs dans le dossier C: \ NetFx3
  3. Invite de commandes en tant qu'administrateur
  4. DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
  5. La barre de progression du texte passera à 100% une fois terminée et vous donnera un message: "L'opération s'est terminée avec succès".

Pour une raison quelconque, mon lecteur optique affiche les fichiers sur le disque, mais le DISM ne l'aime pas, mais la copie des fichiers vers C: semble avoir fonctionné.

Peter
la source
2

La solution pour moi était une combinaison de ces réponses. J'étais sur une machine avec Windows Server 2012 R2.

J'ai essayé de contourner le fait que je n'avais pas d'ISO sous la main. Mais ne pouvait pas le faire fonctionner. J'ai donc été obligé de trouver une image ISO pour Windows Server 2012 R2.

1.) Démarrez l'Éditeur de stratégie de groupe local ou la console de gestion des stratégies de groupe (WIN + R et tapez gpedit.msc).

2.) Développez Configuration ordinateur, développez Modèles d'administration, puis sélectionnez Système.

3.) Ouvrez le paramètre "Spécifier les paramètres pour l'installation facultative des composants et la stratégie de groupe de réparation des composants", puis sélectionnez Activé.

4.) Cochez la case "Contacter Windows Update directement pour télécharger le contenu de réparation au lieu de Windows Server Update Services (WSUS)". Cliquez sur Appliquer, cliquez sur OK.

paramètres WSUS

5.) Téléchargez une image ISO du système d'exploitation et montez l'image. J'en ai téléchargé un ici: https://www.technig.com/download-windows-server-2012-r2-essentials-iso-file/

* Remarque: il s'agit d'un fichier 3Gb.

6.) Ouvrez une Powershell surélevée et exécutez:

DISM / En ligne / Enable-Feature / FeatureName: NetFx3 / All / LimitAccess / Source: E: \ sources \ sxs

* Remarque: l'ISO a été monté sur le "E: \ lecteur" dans ce cas.

installer Net 3.5 avec Powershell

* Ce fil a sauvé la vie. Merci à tous les contributeurs, en particulier @Joshua McKinnon!

Guy Clark Rimel
la source
Cela semble avoir été le problème que j'ai eu dans mon scénario aussi. Les modifications apportées à la stratégie de groupe ont été un régal! Je ne sais pas si cela vaut la peine ou non, mais j'ai remis la stratégie de groupe à ce qu'elle était une fois l'installation terminée.
M. Moose
1

Aucune des méthodes ci-dessus n'a fonctionné pour moi. Il s'est avéré que j'avais un serveur WSUS configuré. La seule façon de l'installer était

1) Regedit

2) Allez dans Ordinateur-> HKEY_LOCAL_MACHINE-> SOFTWARE-> Policies-> Microsoft-> ​​Windows-> WindowsUpdate

3) A pris note des valeurs des deux clés: WUServer et WUStatusServer

4) Supprimé / renommé ces clés

5) WindowsUpdate arrêté et démarré

6) Ajout de la fonctionnalité .Net3.5

7) Remettez les clés et redémarrez WindowsUpdate.

J'espère que ça aide

formica
la source
1
Notez que vous pouvez renommer les clés de registre plutôt que de les supprimer.
Matthew Wetmore
Bon point! J'ai essayé de les nettoyer, mais cela n'a pas fonctionné. Ajouté dans votre suggestion
formica
0

Lorsque la commande DISM ignore le média spécifié par le commutateur / Source et recherche les fichiers en ligne, cela signifie que les fichiers source du média spécifié sont corrompus ou non applicables à votre serveur (incompatibilité de version).

Le code d'erreur 0x800f0906 prouve en outre ce comportement tel que documenté par Microsoft: https://technet.microsoft.com/en-us/library/dn482067.aspx

Votre meilleur pari est d'aider à résoudre ce problème:

  1. Modifiez le support que vous utilisez, téléchargez-le à nouveau si possible.
  2. Présentez les médias de différentes manières. S'il s'agit d'une machine virtuelle, montez une image ISO. Si c'est physique, gravez-le sur un DVD. s'il s'agit des deux fichiers, copiez-les sur un disque local. Si cela échoue, essayez un dossier partagé.
  3. Si tout ce qui précède échoue, j'ai lu que vous utilisez WSUS, essayez de configurer WSUS avec un emplacement "Update Source", où vous avez copié le dossier sxs dans un dossier partagé, les serveurs de votre réseau utiliseront ce dossier comme source pour installer les composants Windows: https://technet.microsoft.com/en-us/library/dn482065.aspx
  4. Si l'utilisation de WSUS n'est pas une option pour une raison quelconque, supprimez l'objet de stratégie de groupe du serveur et assurez-vous que ses paramètres ne sont pas mis en cache en exécutant " gpupdate / sync / force ", une fois terminé, essayez de faire l'installation en ligne à partir d'Internet en utilisant la commande " DISM / En ligne / Enable-Feature / FeatureName: NetFx3 / All "

Si tout ce qui précède échoue, je vous recommande vivement de fournir les journaux de maintenance DISM pour effectuer un dépannage supplémentaire, mais à ce stade, je me pencherais davantage pour effectuer une reconstruction complète du serveur.

Noor Khaldi
la source
C'est presque vrai, sorta. En supprimant simplement les paramètres de l'objet de stratégie de groupe à l'étape 4, c'est-à-dire en le définissant sur "non configuré", vous reviendrez à l'endroit où vous en étiez à l'étape 2. En définissant la stratégie sur activé et en cochant la case "Contacter Windows Update directement pour télécharger la réparation contenu au lieu de Windows Server Update Services (WSUS) "permettra à la commande DISM de récupérer à partir d'Internet. Le commutateur / Online ne signifie pas «récupérer sur Internet», il signifie «entretenir un ordinateur [ou en ligne] sous tension». #documentation
austinian
Ouais, j'ai fait l'utilisation d'Internet pour la mise à jour en dernier recours, je voulais m'assurer qu'il pouvait utiliser n'importe laquelle des ressources locales du LAN pour rendre l'installation rapide sans télécharger depuis Internet. Je connais aussi les swtiches DISM, / Online signifie "Spécifie que l'action doit être effectuée sur le système d'exploitation en cours d'exécution" technet.microsoft.com/en-us/library/hh825079.aspx
Noor Khaldi
D'accord, mais la commande ne vérifiera pas Internet s'il existe un emplacement intranet défini pour Windows Update (par exemple, un serveur WSUS). Il y sera vérifié sauf si vous avez activé l'objet de stratégie de groupe à l'étape 3 avec le paramètre Contacter Windows Update directement pour télécharger le contenu de réparation au lieu de Windows Server Update Services (WSUS) activé.
austinian
0

Votre commande DISM ne trouve pas les ressources requises car elle vérifie la source "en ligne". Windows 6.2+ vérifie (par défaut) uniquement auprès du serveur source de mise à jour pour l'installation / réparation des composants si une source de mise à jour est spécifiée pour le service Windows Update.

Si vous ne souhaitez pas configurer votre serveur source de mise à jour (généralement WSUS) comme source de réparation / installation de composants, vous pouvez activer la stratégie de groupe suivante:

Configuration ordinateur \ Modèles d'administration \ Système

Spécifiez les paramètres d'installation et de réparation des composants en option

Assurez-vous de cocher cette option:

Contactez Windows Update directement pour télécharger le contenu de réparation au lieu de Windows Server Update Services (WSUS)

austinien
la source
0

Assurez-vous que vos supports Sources correspondent parfaitement à votre version de Windows.

J'ai passé une demi-journée à essayer d'utiliser Server 2012 ISO pour installer .NET35 sur Server 2012 R2. Une fois que la source est correcte, la commande DISM (à partir de cette réponse ) fonctionne parfaitement.

alex.z
la source
0

J'ai eu exactement le même problème. Ma résolution était de supprimer le serveur d'Active Directory, d'installer .Net 3.5, puis de le rajouter à AD. Je suis sûr que cela a à voir avec WSUS à un certain niveau, mais cela l'a résolu pour nous. Nous nous assurons simplement d'installer la version 3.5 sur tous les serveurs avant d'ajouter au domaine.

Chris Satola
la source
0

Il y a beaucoup de choses sur Internet à ce sujet et la plupart d'entre elles ont été résumées dans les réponses ici. Nous avons tout essayé et rien n'a fonctionné. Même en pointant sur diverses copies du dossier sxs, il obtiendrait toujours une variation de l'erreur "fichiers source non trouvés".

Je l'ai finalement pointé sur une part du dossier winsxs sur un autre serveur entièrement corrigé qui avait .net 3.5 (c: \ windows \ winsxs) et cela a fonctionné:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:\\otherserver\winsxs

Ma théorie est que le processus d'installation recherchait des fichiers source qui correspondaient aux Ko actuels sur le serveur. Je sais qu'il y a d'autres articles pointant vers la suppression de deux KBs particuliers, mais ceux-ci n'apparaissent pas dans notre liste de patchs installés.

Notez également que les fonctionnalités d'ajout / suppression ne fonctionnaient pas avec ce partage. J'ai dû utiliser DISM.

b_levitt
la source