Cài đặt .Net 3.5 trên Windows 2012 R2


13

Vì vậy, tôi đang cố gắng cài đặt .net 3.5 trên máy chủ Windows 2012 R2. Tôi đã thử qua tính năng Thêm và qua DISM đều thất bại.

Khi thử thông qua Thêm tính năng GUI Tôi đang sử dụng đường dẫn Chỉ định thay thế đường dẫn Điều này không thành công với lỗi cài đặt của một trong những vai trò, dịch vụ vai trò hoặc tính năng không thành công

Khi thử thông qua một PowerShell nâng cao để sử dụng DISM, tôi đang sử dụng lệnh sau.

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

Điều này thất bại với

Lỗi: 0x800f0906 Không thể tải xuống các tệp nguồn. Sử dụng tùy chọn "nguồn" để chỉ định vị trí của các tệp được yêu cầu để khôi phục tính năng. Để biết thêm thông tin về việc chỉ định vị trí nguồn, hãy xem http://go.microsoft.com/fwlink/?LinkId=243077

Tệp nhật ký DISM có thể được tìm thấy tại C: \ Windows \ Logs \ DISM \ merg.log

Tôi đã theo KB được liệt kê ở trên (243077) để đặt vị trí chính sách nhóm cho thư mục SXS. Khởi động lại và vẫn cùng một lỗi. Nhật ký DSIM hiển thị như sau

Thất bại trong khi xử lý tính năng kích hoạt lệnh. - CPackageManagerCLIHandler :: ExecuteCmdLine (hr: 0x800f0906)

Google nhanh chóng cho thấy rất nhiều người đang gặp vấn đề với điều này và bạn nên gỡ cài đặt KB2966826 và KB2966828 máy chủ này chưa được cài đặt.

Tôi cũng đã thử trình cài đặt .Net ngoại tuyến và nó nói rằng tôi phải thêm nó thông qua các tính năng của windows. Tất cả các lệnh đã được chạy như một quản trị viên và thông qua một dấu nhắc nâng cao.

Trong khi viết bài này, tôi đã tìm thấy "Câu hỏi tương tự" và xem xét Điều này không thể cài đặt .net 3.5 trên máy chủ Windows 2012

Đang chạy

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

Sản xuất lỗi tương tự như trên.


Nếu ai đó đã quản lý máy chủ này thì rất có thể họ đã xóa tính năng đó bằng cách xóa các tệp nhị phân khỏi HĐH. 2012 hiện cho phép bạn xóa các tệp không cần thiết cho các vai trò bạn không định cài đặt. Đó là lý do tại sao nó nhắc bạn một đường dẫn thay thế đến các tệp thiết lập. Thực hiện tra cứu quyền hạn cho lệnh của bạn và nó sẽ cho bạn biết cách chỉ định đường dẫn thay thế đó.
Jon

Nếu bạn đã cài đặt KB2919355 (Cập nhật 1), bạn nên sử dụng các tệp nguồn có tích hợp KB2919355. Đó là cách duy nhất nó làm việc cho tôi.
Peter Hahndorf

bạn đã cài đặt các gói MUI bổ sung chưa?
magicandre1981

@ magicandre1981 Không MUI, Đây là bản cài đặt mới của Windows. Chúng tôi làm việc với 1 ứng dụng cho mỗi Máy chủ (ảo). Tôi sẽ thử đề xuất của bạn.
Chuyển sang

Bạn đang sử dụng WSUS? Có một cài đặt trong chính sách nhóm mà bạn có thể đặt để yêu cầu Windows không tìm kiếm các tệp này trong WSUS, vì đó không thể là nguồn cài đặt cho việc này.
sáng lập

Câu trả lời:


13

Lệnh tôi sử dụng để cài đặt .NET Framework 3.5 trên Windows 8.1 và Server 2012 R2 là:

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

Trong đó D: \ là ổ đĩa ISO hoặc DVD được gắn. Sự khác biệt duy nhất từ ​​bạn là / LimitAccess , nhưng tôi tin rằng đó là phần quan trọng, vì nó ngăn không cho nó cố gắng liên hệ với Windows Update hoặc WSUS. Vì bất kỳ lý do gì, khía cạnh này (liên hệ với Windows Update) hoàn toàn bị phá vỡ đối với .NET Framework 3.5 trên Windows 8 / 8.1 và Server 2012 / 2012R2 và sẽ luôn khiến nó bị lỗi.

Xem thêm: http://bloss.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx


dễ dàng hơn nhiều so với serverfault.com/a/633171/157373
Jason Pyeron

Đối với bất kỳ ai đang tìm kiếm tệp cab trong thư mục sxs, bạn có thể tải xuống từ androidfilehost.com/?fid=745425885120760819 . Ngoài ra, liên kết thông tin trong câu trả lời hiện được lưu trữ và có thể được tìm thấy ở bên dưới liên kết docs.microsoft.com/en-us/archive/bloss/askcore/ ,.
Sam

6

Tôi gặp vấn đề tương tự khi gắn đĩa cài đặt Windows hoặc sử dụng DVD vật lý và đây là cách tôi khắc phục:

  1. Tạo một thư mục dưới gốc (ví dụ: C: \ NetFx3)
  2. Sao chép microsoft-windows-netfx3-ondemand-package.cab từ đĩa cài đặt Windows. \ Source \ sxs vào thư mục C: \ NetFx3
  3. Lệnh Prompt với tư cách quản trị viên
  4. DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
  5. Thanh tiến trình văn bản sẽ chuyển đến 100% khi hoàn thành và sẽ thông báo cho bạn: "Thao tác đã hoàn tất thành công".

Vì lý do nào, ổ đĩa quang của tôi hiển thị các tệp trên đĩa, nhưng DISM không thích nó, nhưng sao chép các tệp vào C: dường như đã hoạt động.


2

Giải pháp cho tôi là sự kết hợp của những câu trả lời này. Tôi đã ở trên một máy có Windows Server 2012 R2.

Tôi đã cố gắng làm việc xung quanh thực tế là tôi không có sẵn ISO của HĐH. Nhưng không thể làm cho nó hoạt động. Vì vậy, tôi buộc phải tìm ISO cho Windows Server 2012 R2.

1.) Khởi động Trình chỉnh sửa chính sách nhóm cục bộ hoặc Bảng điều khiển quản lý chính sách nhóm (WIN + R và nhập gpedit.msc).

2.) Mở rộng Cấu hình máy tính, mở rộng Mẫu quản trị, sau đó chọn Hệ thống.

3.) Mở cài đặt "Chỉ định cài đặt cho cài đặt thành phần tùy chọn và sửa chữa thành phần Chính sách nhóm", sau đó chọn Kích hoạt.

4.) Chọn hộp kiểm "Liên hệ trực tiếp với Windows Update để tải xuống nội dung sửa chữa thay vì Windows Server Update Services (WSUS)". Nhấp vào Áp dụng, Nhấp vào Ok.

cài đặt wsus

5.) Tải xuống ISO của HĐH và gắn hình ảnh. Tôi đã tải xuống một cái ở đây: https://www.technig.com/doad-windows-server-2012-r2-essentials-iso-file/

* Lưu ý: đó là tệp 3Gb.

6.) Mở một Powershell nâng cao và chạy:

DISM / Trực tuyến / Kích hoạt tính năng / FeatureName: NetFx3 / Tất cả / LimitAccess / Nguồn: E: \ nguồn \ sxs

* Lưu ý: ISO được gắn vào "E: \ drive" trong trường hợp này.

cài đặt Net 3.5 với Powershell

* Chủ đề này là một cứu người. Cảm ơn tất cả những người đóng góp, đặc biệt là @Joshua McKinnon!


Đây dường như cũng là vấn đề tôi gặp phải trong kịch bản của mình. Thay đổi chính sách nhóm đã làm việc một điều trị! Tôi không biết nó có đáng hay không, nhưng tôi đặt Chính sách nhóm trở lại chính là khi cài đặt hoàn tất.
Ông Moose

1

Không có phương pháp nào ở trên làm việc cho tôi. Hóa ra tôi đã cấu hình máy chủ WSUS. Cách duy nhất tôi có thể cài đặt nó là

1)

2) Truy cập Máy tính-> HKEY_LOCAL_MACHINE-> PHẦN MỀM-> Chính sách-> Microsoft-> ​​Windows-> WindowsUpdate

3) Ghi chú các giá trị của hai khóa: WUServer và WUStatusServer

4) Đã xóa / Đổi tên các phím này

5) Đã dừng và bắt đầu WindowsUpdate

6) Đã thêm tính năng .Net3.5

7) Đặt lại các phím và khởi động lại WindowsUpdate.

Tôi hy vọng nó sẽ giúp


1
Lưu ý rằng bạn có thể đổi tên các khóa đăng ký thay vì xóa chúng.
Matthew Wetmore

Điểm tốt! Tôi đã cố gắng xóa chúng, nhưng không được. Đã thêm trong đề xuất của bạn
formica

0

Khi lệnh DISM bỏ qua phương tiện được chỉ định bởi công tắc / Nguồn và tìm kiếm các tệp trực tuyến, điều đó có nghĩa là các tệp nguồn trong phương tiện được chỉ định bị hỏng hoặc không áp dụng được cho máy chủ của bạn (phiên bản không khớp).

Mã lỗi 0x800f0906 chứng minh thêm hành vi này như được tài liệu bởi Microsoft: https://technet.microsoft.com/en-us/l Library / dn482067.aspx

Đặt cược tốt nhất của bạn là giúp giải quyết vấn đề này là:

  1. Thay đổi phương tiện bạn đang sử dụng, tải xuống lại nếu có thể.
  2. Trình bày các phương tiện truyền thông trong các phương pháp khác nhau. Nếu đó là VM, hãy gắn ISO. Nếu đó là vật lý, ghi vào đĩa DVD. nếu cả hai tập tin, sao chép vào một đĩa cục bộ. Nếu thất bại, hãy thử một thư mục chia sẻ.
  3. Nếu tất cả các cách trên đều thất bại, tôi đọc rằng bạn đang sử dụng WSUS, hãy thử định cấu hình WSUS với vị trí "Cập nhật nguồn", nơi bạn có thư mục sxs được sao chép vào thư mục dùng chung, các máy chủ trong mạng của bạn sẽ sử dụng thư mục đó làm nguồn. để cài đặt các thành phần Windows: https://technet.microsoft.com/en-us/l Library / dn482065.aspx
  4. Nếu sử dụng WSUS không phải là tùy chọn vì bất kỳ lý do nào, hãy xóa GPO khỏi máy chủ và đảm bảo rằng cài đặt của nó không được lưu trong bộ nhớ cache bằng cách chạy " gpupdate / sync / force ", sau khi thực hiện xong, hãy thử cài đặt trực tuyến từ internet bằng lệnh " DISM / Trực tuyến / Kích hoạt tính năng / FeatureName: NetFx3 / Tất cả "

Nếu tất cả các cách trên không thành công, tôi khuyên bạn nên cung cấp nhật ký phục vụ DISM để thực hiện bất kỳ sự cố nào khác, nhưng ở giai đoạn này, tôi sẽ nghiêng nhiều hơn để xây dựng lại máy chủ đầy đủ.


Điều này là gần như đúng, sắp xếp. Chỉ cần xóa cài đặt GPO trong bước 4, tức là cài đặt nó thành "không được cấu hình", sẽ giúp bạn quay lại vị trí của mình ở bước 2. Bằng cách đặt chính sách để bật và đánh dấu vào ô "Liên hệ trực tiếp với Windows Update để tải về sửa chữa nội dung thay vì Windows Server Update Services (WSUS) "sẽ cho phép lệnh DISM thực hiện tìm nạp từ internet. Công tắc / Trực tuyến không có nghĩa là "tìm nạp từ internet", nó có nghĩa là "phục vụ máy tính đang chạy [hoặc trực tuyến]". #documentation
austinian

Phải, tôi đã sử dụng internet để cập nhật như là phương sách cuối cùng, tôi muốn đảm bảo rằng anh ta có thể sử dụng bất kỳ tài nguyên cục bộ nào trong mạng LAN để cài đặt nhanh mà không cần tải xuống từ internet. Tôi cũng biết về swtiches DISM, / Trực tuyến có nghĩa là "Chỉ định rằng hành động sẽ được thực hiện trên hệ điều hành hiện đang chạy" technet.microsoft.com/en-us/l Library / hh825079.aspx
Noor Khaldi

Được rồi, nhưng lệnh sẽ không kiểm tra internet nếu có một vị trí mạng nội bộ được xác định cho Windows Update (ví dụ: máy chủ WSUS). Nó sẽ kiểm tra ở đó trừ khi bạn bật GPO ở bước 3 với cài đặt Liên hệ trực tiếp với Windows Update để tải xuống nội dung sửa chữa thay vì bật Windows Server Update Services (WSUS) .
austinian

0

Lệnh DISM của bạn không tìm thấy các tài nguyên cần thiết vì nó đang kiểm tra nguồn "trực tuyến". Windows 6.2+ sẽ (theo mặc định) chỉ kiểm tra với máy chủ nguồn cập nhật để cài đặt / sửa chữa thành phần nếu nguồn cập nhật được chỉ định cho Dịch vụ Cập nhật Windows.

Nếu bạn không muốn thiết lập máy chủ nguồn cập nhật (thường là WSUS) làm nguồn để sửa chữa / cài đặt các thành phần, thì bạn có thể kích hoạt Chính sách nhóm sau:

Cấu hình máy tính \ Mẫu quản trị \ Hệ thống

Chỉ định cài đặt cho cài đặt thành phần tùy chọn và sửa chữa thành phần

Hãy chắc chắn kiểm tra tùy chọn này:

Liên hệ trực tiếp với Windows Update để tải xuống nội dung sửa chữa thay vì Windows Server Update Services (WSUS)


0

Đảm bảo phương tiện Nguồn của bạn hoàn toàn khớp với phiên bản Windows của bạn.

Tôi đã dành nửa ngày để thử sử dụng Server 2012 ISO để cài đặt .NET35 trên Server 2012 R2. Khi nguồn chính xác, lệnh DISM (từ câu trả lời này ) hoạt động hoàn hảo.


0

Tôi đã có cùng một vấn đề chính xác. Giải pháp của tôi là xóa máy chủ khỏi Active Directory, Cài đặt .Net 3.5, sau đó thêm lại vào AD. Tôi chắc chắn rằng nó phải làm với WSUS ở một số lớp, nhưng điều đó đã giải quyết nó cho chúng tôi. Chúng tôi chỉ đảm bảo rằng chúng tôi cài đặt 3.5 trên tất cả các máy chủ trước khi thêm vào miền.


0

Tôi đã có thể giải quyết vấn đề này bằng cách sử dụng trình hướng dẫn thêm tính năng của trình quản lý máy chủ và chỉ định một nguồn thay thế ở đó.

Nhận thông tin này từ http://www.danielgroupon.com/install-net-framework-35-server-2012/

Tùy chọn 1 cũng không hoạt động với tôi, tùy chọn 2 đã hoàn thành thành công.


0

Có rất nhiều thứ trên internet về điều này và hầu hết trong số đó đã được tóm tắt trong các câu trả lời ở đây. Chúng tôi đã thử tất cả và không ai trong số đó làm việc. Ngay cả khi chỉ vào các bản sao khác nhau của thư mục sxs, nó vẫn sẽ gặp phải một biến thể của lỗi "không tìm thấy tệp nguồn".

Cuối cùng tôi đã chỉ nó vào một phần của thư mục winxs trên một máy chủ được vá hoàn toàn khác có .net 3.5 (c: \ windows \ wonxs) và nó đã hoạt động:

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

Lý thuyết của tôi là quá trình cài đặt đã tìm kiếm các tệp nguồn phù hợp với KB hiện tại trên máy chủ. Tôi biết có những bài viết khác chỉ ra việc loại bỏ hai KB cụ thể, nhưng những bài viết đó không xuất hiện trong danh sách các bản vá được cài đặt của chúng tôi.

Cũng lưu ý rằng các tính năng thêm / xóa không hoạt động với chia sẻ này. Tôi đã phải sử dụng DISM.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.