Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีติดตั้ง .NET Framework 3.5 บน Windows Server 2012 R2

แอปพลิเคชัน Windows สมัยใหม่ส่วนใหญ่ต้องการ .NET Framework เพื่อทำงาน Server Manager ใน Windows Server 2012 R2 อนุญาตติดตั้ง .NET Framework 2 รุ่นพร้อมกันคือ 3.5 และ 4.5 การติดตั้ง .NET 4.5 ไมมักมีปัญยา แต่ .NET 3.5 มักล้มเหลว

สาเหตุ

ลองติดตั้ง .NET 3.5 ด้วยการตั้งค่ามาตรฐาน จะได้ Error: "Installation of one of more roles, role services or features failed. The source files could not be found…"

เหตุผล: ไฟล์ Binary ของ .NET Framework 3.5 ไม่อยู่ใน Local Cache (Features on Demand Concept เพื่อลดพื้นที่ดิสก์) ตรวจสอบด้วย PowerShell:

Get-WindowsFeature *Framework* → แสดง Install State: Removed

โดยค่าเริ่มต้น Server Manager พยายามดึงไฟล์จาก Windows Update ผ่าน Internet (ไม่ใช่ WSUS ภายใน) หาก Server ไม่มี Internet → ล้มเหลว ต้องระบุ Path ไปยัง OS Distribution

วิธีติดตั้งแบบ Manual

  1. ใน Server Manager คลิก Specify an alternative source path ระบุ Path ไปยัง Folder ที่มีไฟล์ติดตั้ง Windows Server 2012 R2 (ต้องเป็น Version, Edition, Language, Updates เดียวกัน) เช่น D:\source\sxs
  2. หรือใช้ Command Prompt (Admin):
    dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess
  3. PowerShell: Add-WindowsFeature NET-Framework-Core -Source d:\sources\sxs

คำอธิบายพารามิเตอร์ DISM: /Online = อัปเกรด OS ปัจจุบัน, /enable-feature/featurename:NetFX3/all = ติดตั้ง .NET 3.5 พร้อมฟีเจอร์ทั้งหมด, /Source = Path ไปยัง Distribution, /LimitAccess = ห้ามเข้าถึง Windows Update

ตั้งค่า Alternative Source Path แบบถาวร

  • Registry: RepairContentServerSource ใน HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing
  • Group Policy: Specify settings for optional component installation and component repair (Computer Configuration → Administrative Templates → System) Enable → ระบุ Alternative source file path → ติ๊ก Never attempt to download payload from Windows Update

ตรวจสอบการติดตั้ง

ไปที่ C:\Windows\Microsoft.NET\Framework64 ดูว่าโฟลเดอร์ v3.5 ปรากฏหรือไม่

หากยังไม่สำเร็จ ลองวิธีต่อไปนี้

  • หลังติดตั้ง Updates บ้าง Build ของ OS อาจไม่ตรงกับ Distribution Image → Error 0x800f081f ลองติดตั้ง .NET Online: Backup WU Settings → ลบ Registry Key HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate → Restart WU Service → DISM /Online /Enable-Feature /FeatureName:NetFx3 /All → คืนค่า WU Settings
  • อนาคตใช้โฟลเดอร์ C:\Windows\winsxs จาก Server นี้ ติดตั้งบน Server อื่นรุ่นเดียวกัน: Copy ไป C:\tmp\winsxs → dism /online /enable-feature /featurename:NetFX3 /all /Source:C:\tmp\winsxs /LimitAccess
  • หากติดตั้ง Language Packs → Uninstall ก่อนด้วย lpksetup
  • ตรวจสอบ Installed Updates ว่ามี Patch สำหรับ NET 3.5 หรือไม่ → Uninstall แล้ว Reboot ลองใหม่