Windows 2012 R2에 .Net 3.5 설치


13

그래서 Windows 2012 R2 Server에 .net 3.5를 설치하려고합니다. 기능 추가를 통해 시도했으며 DISM을 통해 모두 실패했습니다.

기능 추가 GUI를 통해 시도 할 때“대체 경로 지정”을 사용하고 있습니다.“역할, 역할 서비스 또는 기능 중 하나를 설치하지 못했습니다”오류와 함께 실패합니다.

DISM을 사용하기 위해 Elevated PowerShell을 통해 시도 할 때 다음 명령을 사용하고 있습니다.

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

이것은 실패

오류 : 0x800f0906 소스 파일을 다운로드 할 수 없습니다. "source"옵션을 사용하여 기능을 복원하는 데 필요한 파일의 위치를 ​​지정하십시오. 원본 위치 지정에 대한 자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=243077을 참조하십시오.

DISM 로그 파일은 C : \ Windows \ Logs \ DISM \ dism.log에 있습니다.

위에서 나열된 KB (243077)에 따라 SXS 폴더의 그룹 정책 위치를 설정했습니다. 재부팅했지만 여전히 같은 오류입니다. DSIM 로그는 다음을 보여줍니다.

명령 enable-feature를 처리하는 중에 실패했습니다. -CPackageManagerCLIHandler :: ExecuteCmdLine (hr : 0x800f0906)

빠른 구글은 많은 사람들이 이것에 문제가 있고이 서버가 설치되어 있지 않은 KB2966826과 KB2966828을 제거해야한다는 것을 보여줍니다 .

또한 오프라인 .Net 설치 프로그램을 사용해 보았으며 Windows 기능을 통해 추가해야한다고 말합니다. 모든 명령은 관리자 권한으로 관리자 권한으로 실행되었습니다.

이 글을 쓰는 동안 "유사한 질문"을 발견하고 Windows Server 2012에 .net 3.5를 설치할 수 없습니다.

달리는

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

위와 동일한 오류가 발생했습니다.


누군가이 서버를 이미 관리하고 있다면 OS에서 바이너리를 제거하여 해당 기능을 제거 할 가능성이 있습니다. 2012는 이제 설치하지 않을 역할에 대해 불필요한 파일을 제거 할 수 있습니다. 설치 파일의 대체 경로를 묻는 메시지가 표시되는 이유입니다. 명령에 대한 파워 쉘 조회를 수행하면 해당 대체 경로를 지정하는 방법을 알려줍니다.
Jon

KB2919355 (업데이트 1)가 설치되어 있으면 KB2919355가 통합 된 소스 파일을 사용해야합니다. 그것이 나를 위해 일한 유일한 방법입니다.
피터 한 도르프

추가 MUI 패키지를 설치 했습니까?
magicandre1981

@ magicandre1981 No MUI, 이것은 Windows를 새로 설치 한 것입니다. 서버 당 1 개의 앱 (가상)으로 작업합니다. 제안을 시도하겠습니다.
Zapto

WSUS를 사용하고 있습니까? 그룹 정책에는 Windows 용 WSUS에서 이러한 파일을 찾지 않도록 지시하는 설정이 있습니다.이 파일은 설치 원본이 될 수 없기 때문입니다.
briantist

답변:


13

Windows 8.1 및 Server 2012 R2에 .NET Framework 3.5를 설치하는 데 사용하는 명령은 다음과 같습니다.

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

여기서 D : \는 마운트 된 ISO 또는 DVD 드라이브입니다. 귀하와의 유일한 차이점은 / LimitAccess 이지만 Windows Update 또는 WSUS에 연결을 시도하지 못하므로 중요한 부분이라고 생각합니다. 어떤 이유로 든이 측면 (Windows Update에 문의)은 Windows 8 / 8.1 및 Server 2012 / 2012R2의 .NET Framework 3.5에서 완전히 손상되어 항상 실패합니다.

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



sxs 폴더에서 cab 파일을 찾는 사람은 androidfilehost.com/?fid=745425885120760819 에서 다운로드 할 수 있습니다 . 또한 답변의 정보 링크는 이제 보관되며 링크 docs.microsoft.com/en-us/archive/blogs/askcore/… 에서 찾을 수 있습니다 .

6

Windows 설치 디스크를 마운트하거나 실제 DVD를 사용할 때도 같은 문제가 발생했습니다. 수정 방법은 다음과 같습니다.

  1. 루트 아래에 폴더를 만듭니다 (예 : C : \ NetFx3).
  2. 복사 microsoft-windows-netfx3-ondemand-package.cab를 윈도우 설치 디스크에서 \ 소스 \ SXS을 C로 :. \ NetFx3 폴더
  3. 관리자로서의 명령 프롬프트
  4. DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
  5. 텍스트 진행률 표시 줄이 완료되면 100 %로 이동하고 "작업이 성공적으로 완료되었습니다"라는 메시지가 표시됩니다.

어떤 이유로 든 내 광학 드라이브는 디스크의 파일을 표시하지만 DISM은 그것을 좋아하지 않지만 파일을 C :에 복사하는 것이 효과가있는 것 같습니다.


2

나를위한 해결책은 이러한 답변의 조합이었습니다. Windows Server 2012 R2가 설치된 컴퓨터를 사용하고있었습니다.

나는 OS의 ISO를 가지고 있지 않다는 사실을 해결하려고 노력했다. 그러나 작동시키지 못했습니다. 그래서 Windows Server 2012 R2에 대한 ISO를 찾아야했습니다.

1.) 로컬 그룹 정책 편집기 또는 그룹 정책 관리 콘솔 (WIN + R 및 gpedit.msc 입력)을 시작하십시오.

2.) 컴퓨터 구성, 관리 템플릿을 차례로 확장 한 다음 시스템을 선택합니다.

3.) "선택적 구성 요소 설치 및 구성 요소 수리 그룹 정책 설정 지정"설정을 열고 사용을 선택하십시오.

4.) "WSUS (Windows Server Update Services) 대신 복구 콘텐츠를 다운로드하려면 Windows Update에 직접 문의하십시오"확인란을 선택하십시오. 적용을 클릭하고 확인을 클릭하십시오.

wsus 설정

5.) OS의 ISO를 다운로드하여 이미지를 마운트하십시오. 여기에 하나를 다운로드했습니다 : https://www.technig.com/download-windows-server-2012-r2-essentials-iso-file/

* 참고 : 3Gb 파일입니다.

6.) 승격 된 Powershell을 열고 다음을 실행하십시오.

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

* 참고 :이 경우 ISO는 "E : \ 드라이브"에 마운트되었습니다.

Powershell과 함께 Net 3.5 설치

*이 실은 생명의 은인이었습니다. 모든 기여자, 특히 @Joshua McKinnon에게 감사합니다!


이것은 내 시나리오에서도 문제가 된 것 같습니다. 그룹 정책의 변경은 대단했습니다! 가치가 있는지는 모르겠지만 설치가 완료되면 그룹 정책을 다시 설정했습니다.
Mr Moose

1

위의 방법 중 어느 것도 나를 위해 일하지 않았습니다. WSUS 서버가 구성되어 있습니다. 내가 설치할 수있는 유일한 방법은

1) 등록

2) 컴퓨터-> HKEY_LOCAL_MACHINE-> 소프트웨어-> 정책-> Microsoft-> ​​Windows-> WindowsUpdate로 이동하십시오.

3) WUServer 및 WUStatusServer의 두 키 값을 기록했습니다.

4) 키 삭제 / 이름 변경

5) WindowsUpdate 중지 및 시작

6) .Net3.5 기능 추가

7) 키를 다시 넣고 WindowsUpdate를 다시 시작하십시오.

나는 그것이 도움이되기를 바랍니다


1
레지스트리 키를 삭제하지 않고 이름을 바꿀 수 있습니다.
Matthew Wetmore

좋은 지적! 나는 그것들을 지우려고 시도했지만 작동하지 않았다. 귀하의 제안에 추가
formica

0

DISM 명령이 / Source 스위치에 의해 지정된 미디어를 건너 뛰고 온라인으로 파일을 찾으면 지정된 미디어의 소스 파일이 손상되었거나 서버에 적용 할 수 없음을 나타냅니다 (버전 불일치).

오류 코드 0x800f0906 은 Microsoft가 문서화 한대로이 동작을 추가로 증명합니다. https://technet.microsoft.com/en-us/library/dn482067.aspx

최선의 방법은이 문제를 해결하는 것입니다.

  1. 사용중인 미디어를 변경하고 가능하면 다시 다운로드하십시오.
  2. 다른 방법으로 미디어를 제시하십시오. VM 인 경우 ISO를 마운트하십시오. 물리적 인 경우 DVD로 굽습니다. 두 파일 모두 로컬 디스크로 복사하십시오. 실패하면 공유 폴더를 사용해보십시오.
  3. 위의 모든 사항이 실패하면 WSUS를 사용하고 있다는 것을 읽었으며 공유 폴더에 sxs 폴더를 복사 한 "Update Source"위치로 WSUS를 구성 해보십시오. 네트워크의 서버는 해당 폴더를 소스로 사용합니다. Windows 구성 요소 설치 : https://technet.microsoft.com/en-us/library/dn482065.aspx
  4. 어떤 이유로 든 WSUS를 사용하는 것이 옵션이 아닌 경우 서버에서 GPO를 제거하고 " gpupdate / sync / force " 를 실행하여 설정이 캐시되지 않았는지 확인한 후 "명령을 사용하여 인터넷에서 온라인으로 설치를 시도하십시오. DISM / 온라인 / Enable-Feature / FeatureName : NetFx3 / All "

위의 모든 방법이 실패하면 추가 문제 해결을 위해 DISM 서비스 로그를 제공하는 것이 좋습니다. 그러나이 단계에서는 전체 서버를 다시 구축하기 위해 더 많은 노력을 기울일 것입니다.


이다 거의 그렇다고, 맞아. 4 단계에서 GPO 설정을 제거 (즉, "구성되지 않음"으로 설정)하면 2 단계로 돌아갈 수 있습니다. 정책을 사용하도록 설정하고 "다운로드 복구를 위해 직접 Windows Update에 문의"확인란을 선택합니다. WSUS (Windows Server Update Services) "대신 DISM 명령을 사용하면 인터넷에서 DISM 명령을 가져올 수 있습니다. / Online 스위치는 "인터넷에서 가져 오기"를 의미하는 것이 아니라 "실행중인 [또는 온라인] 컴퓨터를 서비스하는"것을 의미합니다. #documentation
오스틴 3

예, 마지막 수단으로 업데이트를 위해 인터넷을 사용했으며 인터넷에서 다운로드하지 않고도 LAN의 로컬 리소스를 사용하여 설치를 빠르게 할 수 있는지 확인하고 싶었습니다. DISM swtiches에 대해서도 알고 있습니다. / Online은 "현재 실행중인 운영 체제에서 작업을 수행하도록 지정합니다" technet.microsoft.com/en-us/library/hh825079.aspx
Noor Khaldi

그러나 Windows Update에 정의 된 인트라넷 위치 (예 : WSUS 서버)가 있으면 명령이 인터넷을 확인하지 않습니다. WSUS (Windows Server Update Services)를 사용 하지 않고 복구 콘텐츠를 다운로드하려면 Windows Update에 직접 연결 설정으로 3 단계에서 GPO를 사용하도록 설정하지 않은 경우 여기에서 확인 합니다.
Austinian

0

DISM 명령이 "온라인"소스를 확인하고 있기 때문에 필요한 리소스를 찾지 못했습니다. Windows 6.2 이상에서는 기본적으로 업데이트 소스가 Windows 업데이트 서비스에 대해 업데이트 소스가 지정된 경우 업데이트 소스 서버에서만 구성 요소 설치 / 복구를 확인합니다.

업데이트 소스 (일반적으로 WSUS) 서버를 구성 요소 복구 / 설치를위한 소스로 설정하지 않으려는 경우 다음 그룹 정책을 활성화 할 수 있습니다.

컴퓨터 구성 \ 관리 템플릿 \ 시스템

선택적 구성 요소 설치 및 구성 요소 복구에 대한 설정 지정

이 옵션을 확인하십시오 :

WSUS (Windows Server Update Services) 대신 복구 콘텐츠를 다운로드하려면 Windows Update에 직접 문의하십시오.


0

소스 미디어가 Windows 버전과 완전히 일치하는지 확인하십시오.

반나절을 Server 2012 ISO를 사용하여 Server 2012 R2에 .NET35를 설치하려고했습니다. 소스가 올 바르면 DISM 명령 (이 답변의 )이 완벽하게 작동합니다.


0

나는 똑같은 문제를 겪었다. 내 해결책은 Active Directory에서 서버를 제거하고 .Net 3.5를 설치 한 다음 AD에 다시 추가하는 것이 었습니다. 나는 그것이 어떤 계층에서 WSUS와 관련이 있다고 확신하지만, 우리를 위해 그것을 해결했다. 도메인에 추가하기 전에 모든 서버에 3.5를 설치해야합니다.



0

인터넷에는 많은 것들이 있으며 대부분 여기 답변에 요약되어 있습니다. 우리는 모든 것을 시도했지만 아무것도 효과가 없었습니다. sxs 폴더의 다양한 복사본을 가리켜도 "소스 파일을 찾을 수 없음"오류의 변형이 발생합니다.

마지막으로 .net 3.5 (c : \ windows \ winsxs)가있는 완전히 패치 된 다른 서버의 winsxs 폴더에서 공유 폴더를 가리 켰습니다 .

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

내 이론은 설치 프로세스가 서버의 현재 KB와 일치하는 소스 파일을 찾고 있다는 것입니다. 두 가지 특정 KB를 제거하는 다른 기사가 있지만 설치된 패치 목록에는 나타나지 않습니다.

또한이 공유에서는 추가 / 제거 기능이 작동하지 않았습니다. DISM을 사용해야했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.