Situatie
Windows Server 2012 necesită ca .Net Framework să fie activat ca o caracteristică mai degrabă decât să folosească metoda fișierului de instalare la care suntem obișnuiți în versiunile anterioare de Windows. Pentru serverele cu o conexiune la internet, aceasta funcționează bine și poate fi realizată în mai multe moduri (de exemplu, adăugați expertul pentru roluri și caracteristici, PowerShell). Problemele mele au început când am început să lucrez la un server fără acces la internet.
Ghidul oficial de la Microsoft este destul de simplu. Făcând acest lucru cu expertul a afișat un avertisment înainte de a începe.
Selectarea opțiunii Instalare (după cum era de așteptat) a cauzat instalarea nereușită:
“Instalarea unuia sau a mai multor roluri, servicii de rol sau funcții a eșuat.
Fișierele sursă nu au putut fi găsite. Încercați din nou să instalați rolurile, serviciile de rol sau funcțiile într-o nouă sesiune de adăugare. Confirmarea expertului, dați click pe “Specificați o cale alternativă sursă” pentru a specifica o locație validă a fișierelor sursă necesare pentru instalare. Locația trebuie să fie accesibilă de contul de computer al serverului de destinație ”
Am urmat sfatul din eroare și am copiat folderul. Sources sxs de pe DVD-ul de instalare într-un folder local, apoi am selectat acel folder din opțiunea “Specificați calea sursă alternativă” a vrăjitorului.
Acest lucru nu a făcut nici o diferență și instalarea a eșuat cu aceeași eroare.
Solutie
Pasi de urmat
Get-remedierilor | unde {{ $ _ . HotfixID -eq “KB296682” -sau $ _ . HotfixID -eq “KB2966828” )}
Această comandă PowerShell va arăta dacă aceste actualizări au fost sau nu instalate. În cazul meu, serverul nu a fost patch-uri și astfel nu a fost cauza problemei.
Dism / online / enable-feature / featurename: NetFX3 / toate / Sursa: d: sources sxs
Dism / Online / Activare-Feature / FeatureName: NetFx3 / Sursa: X: Sources WinSXS / all / limitaccess
Install-WindowsFeature – Sunt caracteristici NET-Framework -Source D : Sources sxs
De asemenea, am încercat să activez politica Specificați setările pentru instalarea opțională a componentelor și repararea componentelor. Acesta este localizat în Computer Configuration Administrative Templates System.
Am activat politica și am activat opțiunea “Nu încercați niciodată să descărcați încărcătura utilă din Windows Update”. Acest lucru nu a făcut nicio diferență, iar instalarea nu funcționează, indiferent de modul în care încerc să-l instalez.
Astăzi am rezolvat în cele din urmă această problemă. Mai jos sunt pașii pentru functionare, sperăm că această metodă va salva timpul dvs. Rețineți că această remediere necesită o mașină r2 Windows Server 2012 pe care a avut succes instalarea .Net 3.5.
Pe un server unde instalarea eșuează, obțineți o listă cu toate dosarele din folderul WinSXS.
Am folosit următoarea comandă PowerShell
Get-ChildItem -Cale C: Windows WinSxS | Selectați Nume | out-fișier D: WinSXSfiles.txt
Apoi am copiat WinSXSfiles.txt pe un server unde o instalare anterioară a avut succes.
Copiați lista de directoare pe un server (Windows 2012 r2) unde instalarea a avut succes. Comparați această listă cu conținutul folderului WinSXS (pe serverul de succes) și obțineți o copie a tuturor dosarelor care lipsesc pe serverul în care instalarea eșuează.
Am folosit următorul script PowerShell:
# Descărcați conținutul folderului WinSXS local, selectați numai numele, treceți la comanda foreach
Get-ChildItem C: Windows WinSxS | Selectați -ExpandProperty Nume | foreach {
#Page nume folder, verificați dacă există în lista de foldere de la aparatul problema
dacă ( ! ( select-string -Cale D: WinSXSfiles.txt -Model $ _ )) {
# Înscrieți-le pe celelalte nume de dosare în consola
Scrie-gazdă $ _ -ForegroundColor Galben
# Copiați dosarele lipsă într-un dosar temporar D: WinSXS
Copy-Articol “C: Windows WinSxS $ _ ” -Destinaţie D: WinSXS -Recurse
}
}
Copiați dosarele lipsă la serverul în care nu reușește instalarea.
Utilizați Dism, cu opțiunea Source indicând ambele foldere WinSXS.
Dism / Online / Activare-Feature / FeatureName: NetFx3 / Sursă: C: Windows WinSXS / Sursă: D: WinSXS / all / limitaccess
În exemplul meu, folosesc 2 foldere WinSXS. Nu am vrut să copiez aproape 700 de dosare potențial inutile în folderul WinSXS de pe unitatea C: Pentru a face acest lucru, am creat un folder temporar WinSXS ( D: WinSXS ) și am dat comanda DISM un al doilea director / Source .
Leave A Comment?