Instalowanie .Net 3.5 w systemie Windows 2012 R2

13

Więc próbuję zainstalować .net 3.5 na serwerze Windows 2012 R2. Próbowałem za pomocą funkcji dodawania i DISM, oba zawiodły.

Podczas próby za pomocą interfejsu GUI dodawania funkcji korzystam z opcji „Określ alternatywną ścieżkę”. Nie udaje się to z powodu błędu „instalacja jednej lub więcej ról, usług ról lub funkcji nie powiodła się”

Podczas próby użycia DISM za pomocą programu Elevated PowerShell używam następującego polecenia.

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

To się nie udaje

Błąd: 0x800f0906 Nie można pobrać plików źródłowych. Użyj opcji „źródło”, aby określić lokalizację plików wymaganych do przywrócenia funkcji. Aby uzyskać więcej informacji na temat określania lokalizacji źródłowej, zobacz http://go.microsoft.com/fwlink/?LinkId=243077

Plik dziennika DISM można znaleźć pod adresem C: \ Windows \ Logs \ DISM \ dism.log

Postępowałem zgodnie z KB wymienionym powyżej (243077), aby ustawić lokalizację zasad grupy dla folderu SXS. Zrestartowano i nadal występuje ten sam błąd. Dziennik DSIM pokazuje następujące informacje

Błąd podczas przetwarzania funkcji włączania polecenia. - CPackageManagerCLIHandler :: ExecuteCmdLine (godz .: 0x800f0906)

Szybkie google pokazuje, że wiele osób ma z tym problemy i że należy odinstalować KB2966826 i KB2966828, ten serwer nie został zainstalowany.

Próbowałem również instalatora offline .Net i mówi, że muszę go dodać za pomocą funkcji systemu Windows. Wszystkie polecenia zostały uruchomione jako administrator i za pomocą podwyższonego monitu.

Pisząc to, zauważyłem „Podobne pytania” i spojrzałem na to Nie można zainstalować .net 3.5 na Windows Server 2012

Bieganie

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

Wystąpił taki sam błąd jak powyżej.

Zapto
źródło
Jeśli ktoś już zarządzał tym serwerem, istnieje prawdopodobieństwo, że usunie tę funkcję, usuwając pliki binarne z systemu operacyjnego. 2012 pozwala teraz usunąć niepotrzebne pliki dla ról, których nie planujesz zainstalować. Dlatego monituje o alternatywną ścieżkę do plików instalacyjnych. Wykonaj wyszukiwanie PowerShell dla swojego polecenia, a dowiesz się, jak określić tę alternatywną ścieżkę.
Jon
Jeśli masz zainstalowaną aktualizację KB2919355 (aktualizacja 1), powinieneś użyć plików źródłowych, które mają zintegrowaną aktualizację KB2919355. To jedyny sposób, w jaki mi to działało.
Peter Hahndorf,
czy zainstalowałeś dodatkowe pakiety MUI?
magicandre1981
@ magicandre1981 Nie MUI, jest to nowa instalacja systemu Windows. Pracujemy z 1 aplikacją na serwer (wirtualną). Spróbuję twoich sugestii.
Zapto,
Czy używasz WSUS? W zasadach grupy można ustawić ustawienie, które mówi systemowi Windows, aby nie szukał tych plików w programie WSUS, ponieważ nie może to być źródło instalacji.
briantistka

Odpowiedzi:

13

Polecenie, którego używam do instalacji .NET Framework 3.5 w Windows 8.1 i Server 2012 R2 to:

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

Gdzie D: \ jest zamontowanym napędem ISO lub DVD. Jedyną różnicą od twojej jest / LimitAccess , ale uważam, że jest to ważna część, ponieważ zapobiega próbom skontaktowania się z Windows Update lub WSUS. Z jakiegokolwiek powodu ten aspekt (kontakt z Windows Update) jest całkowicie zepsuty dla .NET Framework 3.5 w Windows 8 / 8.1 i Server 2012 / 2012R2 i zawsze spowoduje jego awarię.

Zobacz także: http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx

Joshua McKinnon
źródło
znacznie łatwiej niż serverfault.com/a/633171/157373
Jason Pyeron
Dla każdego, kto szuka pliku cab w folderze sxs, możesz go pobrać ze strony androidfilehost.com/?fid=745425885120760819 . Link do informacji w odpowiedzi jest teraz zarchiwizowany i można go znaleźć pod linkiem docs.microsoft.com/en-us/archive/blogs/askcore/… .
Sam
6

Miałem ten sam problem, gdy podłączałem dysk instalacyjny systemu Windows lub korzystałem z fizycznego dysku DVD. Oto, jak to naprawiłem:

  1. Utwórz folder w katalogu głównym (na przykład C: \ NetFx3)
  2. Skopiuj microsoft-windows-netfx3-ondemand-package.cab z dysku instalacyjnego systemu Windows. \ Sources \ sxs do folderu C: \ NetFx3
  3. Wiersz polecenia jako administrator
  4. DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
  5. Pasek postępu tekstu osiągnie 100% po zakończeniu i wyświetli komunikat: „Operacja zakończona powodzeniem”.

Z jakiegokolwiek powodu mój napęd optyczny pokazuje pliki na dysku, ale DISM go nie lubi, ale kopiowanie plików do C: wydaje się działać.

Piotr
źródło
2

Rozwiązaniem było dla mnie połączenie tych odpowiedzi. Byłem na komputerze z systemem Windows Server 2012 R2.

Próbowałem obejść fakt, że nie miałem pod ręką ISO systemu operacyjnego. Ale nie udało mi się go uruchomić. Więc byłem zmuszony znaleźć ISO dla Windows Server 2012 R2.

1.) Uruchom Edytor lokalnych zasad grupy lub Konsolę zarządzania zasadami grupy (WIN + R i wpisz gpedit.msc).

2.) Rozwiń Konfiguracja komputera, rozwiń Szablony administracyjne, a następnie wybierz System.

3.) Otwórz ustawienie „Określ ustawienia opcjonalnej instalacji i naprawy składników zasad grupy”, a następnie wybierz Włączone.

4.) Zaznacz pole wyboru „Skontaktuj się z Windows Update bezpośrednio, aby pobrać naprawioną zawartość zamiast Windows Server Update Services (WSUS)”. Kliknij Zastosuj, kliknij Ok.

ustawienia WSUS

5.) Pobierz ISO systemu operacyjnego i zamontuj obraz. Pobrałem jeden tutaj: https://www.technig.com/download-windows-server-2012-r2-essentials-iso-file/

* Uwaga: jest to plik 3Gb.

6.) Otwórz podwyższoną wersję PowerShell i uruchom:

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

* Uwaga: w tym przypadku ISO zamontowano na „E: \ drive”.

zainstaluj Net 3.5 z Powershell

* Ten wątek uratował życie. Dziękujemy wszystkim autorom, zwłaszcza @Joshua McKinnon!

Guy Clark Rimel
źródło
To wydaje się być problemem, który miałem w moim scenariuszu. Zmiany zasad grupy zadziałały! Nie wiem, czy warto, czy nie, ale przywróciłem zasady grupy do stanu, w jakim było po zakończeniu instalacji.
Pan Moose
1

Żadna z powyższych metod nie działała dla mnie. Okazało się, że mam skonfigurowany serwer WSUS. Jedynym sposobem, w jaki mogłem to zainstalować, było

1) Regedit

2) Przejdź do Komputer-> HKEY_LOCAL_MACHINE-> OPROGRAMOWANIE-> Zasady-> Microsoft-> ​​Windows-> WindowsUpdate

3) Zanotował wartości dwóch kluczy: WUServer i WUStatusServer

4) Usunięto / zmieniono nazwy tych kluczy

5) Zatrzymano i uruchomiono aktualizację systemu Windows

6) Dodano funkcję .Net3.5

7) Włóż klucze z powrotem i uruchom ponownie WindowsUpdate.

Mam nadzieję, że to pomoże

formica
źródło
1
Pamiętaj, że możesz zmienić nazwę kluczy rejestru zamiast je usuwać.
Matthew Wetmore
Słuszna uwaga! Próbowałem je wyczyścić, ale to nie zadziałało. Dodano do Twojej sugestii
formica
0

Gdy polecenie DISM pomija nośnik określony za pomocą przełącznika / Source i szuka plików online, oznacza to, że pliki źródłowe na określonym nośniku są uszkodzone lub nie dotyczą Twojego serwera (niezgodność wersji).

Kod błędu 0x800f0906 dodatkowo potwierdza to zachowanie udokumentowane przez Microsoft: https://technet.microsoft.com/en-us/library/dn482067.aspx

Najlepszym rozwiązaniem jest pomoc w rozwiązaniu tego problemu:

  1. Zmień używane media, jeśli to możliwe, pobierz ponownie.
  2. Zaprezentuj media na różne sposoby. Jeśli jest to VM, zamontuj ISO. Jeśli jest fizyczny, wypal na płycie DVD. jeśli oba pliki, skopiuj na dysk lokalny. Jeśli to się nie powiedzie, spróbuj udostępnić folder.
  3. Jeśli wszystkie powyższe błędy się nie powiodły, czytam, że używasz programu WSUS, spróbuj skonfigurować program WSUS z lokalizacją „Aktualizuj źródło”, w której masz folder sxs skopiowany do folderu udostępnionego, serwery w sieci będą używać tego folderu jako źródła do instalacji składników systemu Windows: https://technet.microsoft.com/en-us/library/dn482065.aspx
  4. Jeśli z jakiegokolwiek powodu korzystanie z programu WSUS nie jest możliwe, usuń obiekt GPO z serwera i upewnij się, że ustawienia nie są buforowane, uruchamiając poleceniegpupdate / sync / force ”. Po zakończeniu spróbuj wykonać instalację online z Internetu za pomocą polecenia „ DISM / Online / Enable-Feature / FeatureName: NetFx3 / All

Jeśli wszystkie powyższe błędy się nie powiodą, zdecydowanie zalecamy dostarczenie dzienników obsługi DISM w celu wykonania dalszych czynności rozwiązywania problemów, ale na tym etapie wolałbym więcej, aby przeprowadzić pełną odbudowę serwera.

Noor Khaldi
źródło
To prawie racja. Po prostu usuwając ustawienia GPO w kroku 4 - tj. Ustawiając je na „nieskonfigurowane” - wrócisz do miejsca, w którym byłeś w kroku 2. Ustawiając zasady na włączone i zaznaczając pole „Skontaktuj się bezpośrednio z Windows Update, aby pobrać naprawę zawartość zamiast Windows Server Update Services (WSUS) ”zezwoli na pobranie polecenia DISM z Internetu. Przełącznik / Online nie oznacza „pobierania z Internetu”, oznacza „obsługę działającego [lub online] komputera”. #dokumentacja
austinian
Tak, zrobiłem korzystanie z Internetu do aktualizacji w ostateczności, chciałem się upewnić, że będzie mógł użyć dowolnego z lokalnych zasobów w sieci LAN, aby instalacja była szybka bez pobierania z Internetu. Wiem również o dyskach DISM, / Online oznacza „Określa, że ​​należy podjąć akcję w systemie operacyjnym, który jest obecnie uruchomiony” technet.microsoft.com/en-us/library/hh825079.aspx
Noor Khaldi
W porządku, ale polecenie nie sprawdzi Internetu, jeśli jest określona lokalizacja intranetowa dla Windows Update (np. Serwer WSUS). Sprawdzi tam, chyba że GPO w kroku 3 jest włączone z ustawieniem Skontaktuj się bezpośrednio z Windows Update, aby pobrać naprawioną zawartość zamiast Windows Server Update Services (WSUS) .
austriacki
0

Twoje polecenie DISM nie znajduje wymaganych zasobów, ponieważ sprawdza źródło „online”. System Windows 6.2+ (domyślnie) sprawdzi tylko na serwerze źródła aktualizacji, czy zainstalowano / naprawiono komponent, czy dla usługi Windows Update określono źródło aktualizacji.

Jeśli nie chcesz konfigurować serwera źródła aktualizacji (zwykle WSUS) jako źródła do naprawy / instalowania składników, możesz włączyć następujące zasady grupy:

Konfiguracja komputera \ Szablony administracyjne \ System

Określ ustawienia opcjonalnej instalacji i naprawy komponentów

Sprawdź tę opcję:

Skontaktuj się bezpośrednio z Windows Update, aby pobrać naprawioną zawartość zamiast usług Windows Server Update Services (WSUS)

austinian
źródło
0

Upewnij się, że nośnik Sources jest absolutnie zgodny z wersją systemu Windows.

Spędziłem pół dnia, próbując użyć ISO Server 2012 do zainstalowania .NET35 na Server 2012 R2. Gdy źródło jest prawidłowe, polecenie DISM (z tej odpowiedzi ) działa bezbłędnie.

alex.z
źródło
0

Miałem dokładnie ten sam problem. Moim rozwiązaniem było usunięcie serwera z Active Directory, instalacja .Net 3.5, a następnie dodanie go z powrotem do AD. Jestem pewien, że ma to jakiś związek z WSUS na pewnym poziomie, ale to rozwiązało to dla nas. Przed dodaniem do domeny upewniamy się, że zainstalowaliśmy 3.5 na wszystkich serwerach.

Chris Satola
źródło
0

W Internecie jest wiele rzeczy na ten temat, a większość z nich została streszczona w odpowiedziach tutaj. Próbowaliśmy wszystkiego i nic z tego nie działało. Nawet gdy wskazuje różne kopie folderu sxs, nadal występuje błąd „nie znaleziono plików źródłowych”.

W końcu wskazałem na udział folderu winsxs na innym w pełni załatanym serwerze, który miał .net 3.5 (c: \ windows \ winsxs) i zadziałało:

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

Moja teoria jest taka, że ​​proces instalacji szukał plików źródłowych, które pasowałyby do aktualnych KB na serwerze. Wiem, że istnieją inne artykuły wskazujące na usunięcie dwóch konkretnych KB, ale nie pojawiły się one na naszej liście zainstalowanych łatek.

Pamiętaj też, że funkcje dodawania / usuwania nie działały z tym udziałem. Musiałem użyć DISM.

b_levitt
źródło