none
WUA (Windows Update Agent)API 호출을 통한 Windows 10 1709 업그레이드 실패문제 RRS feed

  • 질문

  • 윈도우 자동업데이트를 통해, Windows 10 1709(Fall Create Update) 설치하면 정상 설치되지만,,, 

    WUA API를 호출하여, 시도할 때는 실패됩니다.  RedStone 업그레이드가 아닌 일반 보안패치는 WUA API로 설치 잘됩니다.

    왜 이런 결과가 나오는지, 해결방법은 없는지,,, 문의합니다. 

    본문 하단에는 호출과정을 설명하였습니다.

    --------------------------------------------------------------------------------------------------------------------------

    WUA (Windows Update Agent) API를 호출하여, Windows 10 1709 (Fall Create Update) 업데이트를 하였으나 실패에 대한 실험내용

    <실험-1.>

     - Windows 10 Pro K x64 1703 version OS 설치 (정품 인증하지 않은 상태)
     - WUA API 호출을 통해 검출한 미 설치 업데이트 건 중 , 1709을 제외한 모든 건의 설치 성공
       - 단, Silverlight 업데이트는 관련 없는 것으로 보고 설치하지 않음
     - 1709 업데이트 설치 시도하였으나, 다음과 같은 3가지 경우로 실패함
       1. 다운로드 실패
       2. 다운로드 성공하였으나, 설치 진행 중 실패
       3. 설치는 완료했으나, PC 재 부팅 간에 업데이트 마무리 과정이 일어나지 않고 결과적으로 1703 버전에 머물러 있음

    <실험-2.>

     - Window 10 Pro K X86 1507 version OS 설치 (정품 인증하지 않은 상태)
     - WUA API 호출을 통해 검출한 미 설치 업데이트 건 중 , 1709을 제외한 모든 건의 설치 성공
        - 단, Silverlight 업데이트는 관련 없는 것으로 보고 설치하지 않음
     - 1709 업데이트 설치 시도하였으나, 다운로드가 실패함

    -----------------------------------------------------------------------------------------------------------------

    다음은 위 실험 내용에서 문제가 되는 WUA API 호출 과정입니다.

    < 실험-1.>

     - 1709 업데이트 설치 시도하였으나, 다음과 같은 3가지 경우로 실패함
        > 다운로드 실패
           - IUpdateDownloadResult->get_ResultCode(..) 호출하여 얻은 OperationResultCode 값이 orcFailed 임
        > 다운로드 성공하였으나, 설치 진행 중 실패
           - IUpdateInstallationResult->get_ResultCode(..) 메소드 호출하여 얻은 OperationResultCode 값이 orcFailed 임
        > 설치는 완료했으나, PC 재 부팅 간에 업데이트 마무리 과정이 일어나지 않고 결과적으로 1703 버전에 머물러 있음
           - WUA API 호출은 모두 성공하는데, 결과적으로 1709 업데이트가 안되어 있음

    < 실험-2.>

     - 1709 업데이트 설치 시도하였으나, 다운로드가 실패함
        > 다운로드 실패
           - IUpdateDownloadResult->get_ResultCode(..) 호출하여 얻은 OperationResultCode 값이 orcFailed 임
        > 다운로드 성공하였으나, 설치 진행 중 실패
           - IUpdateInstallationResult->get_ResultCode(..) 메소드 호출하여 얻은 OperationResultCode 값이 orcFailed 임

    ---------------------------------------------------------------------------------------------------------------- 

    다음은 위 실험에서 기본적인 WUA API 호출 과정을 기술합니다

     - 업데이트 다운로드
        > CLSID_CInstall COM 객체에서 두 객체 사용
           - IDownloadProgressChangedCallback : CLSID_CInstall COM 객체->QueryInterface(IID_IDownloadProgressChangedCallback)
           - IDownloadCompletedCallback : CLSID_CInstall COM 객체->QueryInterface(IID_IDownloadProgressChangedCallback)
        > IUpdateDownloader->BeginDownload(..) 메소드 호출
        > IDownloadProgress->get_IsCompleted(..) 메소드 호출하여 다운로드 과정이 끝났는지 확인
        > IDownloadProgress->GetUpdateResult(..) > IUpdateDownloadResult->get_ResultCode(..) 메소드 호출하여, 다운로드가 성공하였는지 확인

     - 업데이트 설치
        > Microsoft.Update.Session” 객체 > IUpdateSession (IID_IUpdateSession)->CreateUpdateInstaller(..) > IUpdateInstaller-> get_Updates(..)
           - IUpdateCollection 객체 사용
        > End User 동의 설정
           - IUpdateCollection->get_item(..) > IUpdate->AcceptEula()
        > CLSID_CInstall COM 객체에서 두 객체 사용
           - IInstallationProgressChangedCallback : CLSID_CInstall COM 객체->QueryInterface(IID_IInstallationProgressChangedCallback)
           - IInstallationCompletedCallback : CLSID_CInstall COM 객체->QueryInterface IID_IInstallationCompletedCallback)
        > IUpdateInstaller-> BeginInstall(..) 메소드 호출
        > IInstallationProgress-> get_IsCompleted(..) 메소드 호출하여 설치 과정이 끝났는지 확인
        > IInstallationProgress-> GetUpdateResult(..) > IUpdateInstallationResult->get_ResultCode(..) 메소드 호출하여, 설치가 성공하였는지 확인

    • 편집됨 Doctorsoft 2018년 1월 16일 화요일 오전 8:51
    2018년 1월 16일 화요일 오전 8:27

모든 응답

  • 안녕하세요,

    다운로드 및 실패가 발생했던 것은 Windows Update UI에서 업데이트 확인을 시도하여 1709에 대한 자동 설치시도가 되는 상태에서, 동일한 업데이트를 중복 시도하게 되어 발생했던 것으로 확인 되었습니다.

    감사합니다.


    yc

    2018년 2월 23일 금요일 오전 4:25