Windows 업데이트 에이전트 업데이트

WUA(Windows 업데이트 에이전트)는 디바이스에서 실행되는 Windows 버전에 따라 다양한 방법을 통해 업데이트됩니다. 이전 버전의 WUA는 현재 업데이트 서비스에 연결할 수 없으며, 모든 업데이트와 호환되지 않을 수 있으며, 문서화된 모든 API를 지원하지 않을 수 있습니다. WUA가 완전히 업데이트되고 호환되도록 보장하는 방법은 다음과 같습니다.

Windows 7 및 Windows Server 2008 R2로 시작하는 Windows 버전

WUA(Windows 업데이트 에이전트) 업데이트는 Windows 업데이트 또는 WSUS(Windows Server Update Services)를 통해 배포되는 Windows 대한 정기 업데이트에 포함됩니다. 이러한 Windows 버전에서 WUA를 업데이트하기 위해 특별한 단계를 수행할 필요가 없습니다.

Windows 7 및 Windows Server 2008 R2 이전 버전의 Windows

자동 업데이트가 Windows 업데이트 또는 WSUS에 연결할 때 WUA가 자동으로 업데이트됩니다.

자동 업데이트가 아직 실행되지 않은 경우 이러한 Windows 버전을 실행하는 디바이스가 문서화된 모든 API를 지원하지 않는 이전 버전의 WUA를 실행할 수 있습니다. WUA API를 사용하여 검사, 다운로드 또는 설치를 수행할 때 WU_E_SELFUPDATE_REQUIRED 결과가 표시되는 경우 이 오류는 설치된 WUA 버전이 너무 오래되어 현재 Windows 업데이트 서비스에 연결하지 못했음을 알려줍니다. 일반 WUA API를 사용하여 이러한 운영 체제에서 WUA를 업데이트할 수 없습니다.

사용자는 Windows 업데이트 제어판을 열고 업데이트 확인을 선택한 다음 표시되는 자체 업데이트를 수락하여 WUA를 현재 버전으로 수동으로 업데이트할 수 있습니다. 또는 프로그래밍 방식으로 WUA를 업데이트할 수 있습니다.

Windows 7 및 Windows Server 2008 R2 이전 버전의 Windows WUA를 프로그래밍 방식으로 업데이트하려면

  1. WinHTTP API를 사용하여 Wuredist.cab다운로드합니다.
  2. 암호화 함수를 사용하여 다운로드한 Wuredist.cab 복사본에 Microsoft의 디지털 서명이 있는지 확인합니다. 디지털 서명을 확인할 수 없는 경우 중지합니다.
  3. 파일 압축 풀기 인터페이스 API를 사용하여 Wuredist.cabXML 파일을 추출합니다.
  4. Microsoft XML Core Services(MSXML) API를 사용하여 XML 파일을 로드하고 컴퓨터 아키텍처에 대한 WURedist/StandaloneRedist/아키텍처 노드를 찾습니다. 예를 들어 x86의 경우 이름 특성이 x86인 WURedist/StandaloneRedist/architecture 노드를 찾습니다.
  5. IWindowsUpdateAgentInfo::GetInfo를 호출하여 현재 버전의 WUA를 확인합니다. IWindowsUpdateAgentInfo::GetInfo가 사용자가 찾은 아키텍처 노드의 clientVersion 특성만큼 높은 버전 번호를 반환하는 경우 중지합니다.
  6. MSXML API를 사용하여 사용자가 찾은 아키텍처 노드에서 downloadUrl 특성을 읽습니다. downloadUrl 은 컴퓨터 아키텍처에 적합한 WUA 설치 관리자에 대한 다운로드 URL을 제공합니다.
  7. WinHTTP API를 사용하여 적절한 설치 관리자를 다운로드합니다.
  8. CreateProcess 함수 또는 유사한 API를 사용하여 다운로드한 설치 관리자를 실행합니다.