none
WSUSを使って1511から1607へアップグレードするとエラー(0xc1800118)となる RRS feed

  • 質問

  • 仮想環境下でWSUSサーバと配下のWindows10を構築し、導入検証を行っています。

    待ちわびた1607のアップグレードが本日WSUSでリリースされ、早速1511の環境に配布しましたが件名のとおり、0xc1800118 のエラーでアップグレードできません。

    ネットの情報ではISOからの新規インストールのような対処しか見つかりませんでした。

    原因と対処についてお知恵を拝借できませんでしょうか。

    宜しくお願いします。

     追記:環境は下記のとおり

      ◆PC側

      エディション Windows 10 Enterprise 64bit
      バージョン   1511
      OSビルド    10586.545

      ◆WSUS側

        Windows Server 2012 R2
        KB3159706 適用済 (Not SSL)

      承認したタイトル 「Windows 10 Enterprise、バージョン 1607、ja-jpの機能更新プログラム」




    • 編集済み Goofy's 2016年8月18日 0:44
    • 移動 星 睦美 2016年11月29日 7:25 Windows10 IT Pro から
    2016年8月17日 2:55

回答

  • 英語ですが、公式アナウンスが出ましたのでご案内します。

    リンクが張れる身分ではないようなので、https:// を省いています。

    blogs.technet.microsoft.com/wsus/2016/09/21/resolving-error-0xc1800118/

    support.microsoft.com/en-us/kb/3194588

    2016年9月23日 5:58

すべての返信

  • Same trouble. 

    Error 0xc1800118 for WSUS 1607 update.

    Windows 10 Enterprise 1511 64bit

    2016年8月17日 14:06
  • Windows Server 2016 TP4 でも検証していたところ、同様の現象が発生し、以下のような状態となっていました。

    • 1507 → 1511 へのアップグレード : KB3095113 の対応を実施すれば動作
    • 1507 / 1511 → 1607 のアップグレード : KB3159706 の手動ステップを実施しても NG (TP4 向けの KB が提供されていなかったため手動ステップのみを実施)
    • 1607 のアップグレードを実行すると、「更新プログラムをインストールする準備をしています」で「0%」でエラーとなる。

    Windows Server 2012 R2 のクリーンインストール環境に、WSUS (非 SSL 環境) を導入して検証したところ、以下の手順を実施することで、エラーが発生せず、1507 → 1607 へアップグレードできるようになりました。

    1. KB3095113 をインストールし、サーバーを再起動
    2. IIS の MIME 設定に、esd の MIME を追加 (application/octet-stream)
    3. KB3159706 をインストールし、サーバーを再起動 (KB3159706 は、https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB3159706  からダウンロード)
    4. KB3159706 の手動ステップ (C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing の実行と、HTTP Activation の追加) を実施し、WSUS のサービスを再起動
    5. Upgrade の分類を追加し、1607 を承認

    となっていたため、1607 の展開には、KB3159706 の対応がポイントとなってきそうでしたが、KB3159706 の対応ができれば展開はできそうでした。

    • 回答の候補に設定 Hannoki user 2016年8月25日 6:17
    2016年8月23日 3:45
  • Masayuki.Ozawa 様

    アドバイスありがとうございます!
    その1~5の項目につきましては、実施済の認識でおります。

    1507(バージョン10) → 1511 は正常動作を確認済です。

    WSUSサーバの構築は下記の流れで作成し、参考にさせて頂いたブログの手順に沿って行いました。

    1:WSUSと付帯するIIS FWK4.5をインストール
      ⇒サーバマネージャから

    2:.NET Framwork3.5をインストール
      ⇒サーバマネージャから DVD媒体の「sources\sxs」フォルダの参照が必要
      ※Report Viewer 2008 、SQL Server 2008 R2 Management Studio Expressで必要

    3:Microsoft Report Viewer 2008 SP1 Redistributable - 日本語インストール
      ⇒https://www.microsoft.com/ja-jp/download/details.aspx?id=3841
      ※WSUSで必須

    4:SQL Server 2008 R2 Management Studio Expres インストール
     ⇒https://blogs.technet.microsoft.com/jpwsus/2014/08/01/wsus-windows-server-2012/

    5:Windows10アップグレードを配信するための準備
      ⇒https://blogs.technet.microsoft.com/jpwsus/2016/02/11/wsus-windows-10/
       ・KB3095113のインストール
       ・IISにてMIMEにWindows 10 へのアップグレードに用いられる「.esd」形式のファイルの配信を許可する設定を追加
       ・KB3159706のインストール

    結果:サーババージョン 6.3.9600.18324

    ただ、手順違いや、作業漏れが全くないかどうかと言われますと、
    年初に構築してから情報が出る度に更新しておりますので微妙ではありますが(^^;

    WSUS側をクリーンインストールしたら1507 → 1607 は正常に動作したことはとても参考になります。





    • 編集済み Goofy's 2016年8月24日 0:38
    2016年8月23日 5:18
  • 上記に記載の手順は全て実施済ですが、当方も同じ問題が発生しています。

    海外でも同じ問題を抱えている人が多くいるみたいですね。

    2016年8月24日 1:37
  • stam315様

    レスありがとうございます。

    仰るとおり、エラーコードで検索しますと色々な言語が出てきますね。
    (気が付けばこの投稿がトップに出てますが。)

    他の経路でも問い合わせをしていますが、まだ進展がありませんので
    新しい情報が無いか翻訳サイトを使いながら一回りすることが日課となってます。

    2016年8月25日 0:00
  • 私も社内検証で 0xc1800118 に苦しめられておりましたが

    WSUS機能、KB3159706 をアンインストールした後に、Masayuki.Ozawa さんの手順で

    再構成したところ、うまく動作しました、

    やはりポイントとしては、KB3159706+手動ステップ の後に アップグレード承認 が重要のようです。


    2016年8月25日 6:22
  • Hannoki user様

    アドバイスありがとうございます!

    既存環境での修正ですね。

    同様の事を下記手順でやってみてますが、
    残念ながら現象に変わりはありませんでした。もう一度試してみます。

    ◇WSUSサーバ側

    1:分類の[Upgrades]を外す
    2:サーバの役割 WSUS Services 削除
             同時に WID Databese 削除
    3:サーバ再起動

    4:更新プログラムのアンインストールから[Microsoft Windows(KB3159706)の更新プログラム]をアンインストール
    5:サーバ再起動

    6:サーバの役割  WSUS Services 追加
      同時に WID Databese 追加
                  更新ファイルの置き場は以前のフォルダを指定
    7:展開後構成 実行

    8:KB3159706をインストール
    9:サーバ再起動

    10:コマンドプロンプト(管理者)から["C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing]実行
    11:「Windows 10 Enterprise、バージョン 1607、ja-jpの機能更新プログラム」を拒否にする
    12:オプションのサーバクリーンアップウィザードを実行し「Windows 10 Enterprise、バージョン 1607、ja-jpの機能更新プログラム」を削除する
    13:分類の[Upgrades]を選択
    14:同期の[今すぐ同期]を実施
    15:「Windows 10 Enterprise、バージョン 1607、ja-jpの機能更新プログラム」を承認する


         ⇒再ダウンロードが完了するとサーバ側準備完了

    ◇PC側
     1:コマンドプロンプト(管理者)から以下のコマンドを実行
     net stop usosvc
     net stop wuauserv
     net stop bits

     ren %systemroot%\SoftwareDistribution SoftwareDistribution.old

     del "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr0.dat"
     del "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr1.dat"

     net start bits
     net start wuauserv
     net start usosvc

     wuauclt /detectnow




    • 編集済み Goofy's 2016年8月26日 0:19
    2016年8月25日 23:26
  • WSUSサーバ側の手順を少し変えて試してみましたが変化無く、ダメした。
     

    ◇WSUSサーバ側
    1:分類の[Upgrades]を外す
    2:「Windows 10 Enterprise、バージョン 1607、ja-jpの機能更新プログラム」を拒否にする
    3:オプションのサーバクリーンアップウィザードを実行し「Windows 10 Enterprise、バージョン 1607、ja-jpの機能更新プログラム」を削除する
    4:サーバの役割 WSUS Services 削除
             同時に WID Databese 削除
                    HTTP アクティブ化 削除
            ※WIDフォルダのファイル、更新ファイルは削除せずそのまま。
    5:KB3159706のアンインストール
    6:KB3095113のアンインストール
    7:サーバ再起動

     ※IISでの「.esd」形式ファイルの配信許可はそのまま

    8:KB3095113のインストール
    9:KB3159706のインストール

    10:サーバの役割  WSUS Services 追加
      同時に WID Databese 追加
                  更新ファイルの置き場に以前のフォルダを指定
    11:["C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing]実行
    12:サーバの役割 HTTP アクティブ化 追加
    13:WSUSサービス再起動

    14:分類の[Upgrades]を選択
    15:同期の[今すぐ同期]を実施
    16:「Windows 10 Enterprise、バージョン 1607、ja-jpの機能更新プログラム」を承認する


    再構築となるとやはりWIDフォルダのファイル、更新ファイルの削除が必要なんでしょうか。
    でもそれだとほぼ完全アンインストールですしね。
    動かないのも困りますが、これ以上に戻す手順が対処方法になってしまうと本番は辛いですね。。。


    • 編集済み Goofy's 2016年8月26日 4:22
    2016年8月26日 2:57
  • 私も再度検証をしたのですが、手順を追って作った、WSUS の環境でないと、うまく適用ができないですね。
    KB を適用せずに構築し、エラーを発生させた環境に KB を適用し、手順を実施してもうまく配信ができませんでした。

    http://answers.microsoft.com/en-us/windows/forum/windows_10-update/anniversary-1607-update-error-0xc1800118/d413dfa9-d8ee-4b53-b72f-57c0df9154bd?page=7

    に、

    ===========================

    I have route to product group by "kitchen door" and they can reproduce this 0x1800118 error on their lab environments, so let's wait a while.

    It seems to be just a bug. 

    ===========================

    との情報もあり、製品グループの方で再現もしているようですので、少し様子を見た方がよさそうですね…。

    2016年8月29日 1:56
  • Masayuki.Ozawa 様

    アドバイスありがとうございます!

    >It seems to be just a bug. 
    私もそう感じます。

    一度KBを入れてしまうと、又は入れずに[Upgrades]を設定し同期してしまうと、
    その後でWSUSの機能の削除や追加をしても「戻せない」ほど、
    コアな部分が変更されて、その後の修正ができない状態になっているようですね。
    原因はまだわかりませんが、現状では厳密なインストール手順が存在するようで
    先行評価されていた方々の多くが落ちた落とし穴かと想像します。

    現時点でのお勧めの対処方法は

    お急ぎの方は
    ⇒アドバイス頂いて実績も出ている、「サーバOS環境から再作成」し、WSUSインストール後、関連KBを全て入れ終わった後で[Upgrades]を設定~の流れで再構築。

    そうでない方は
    ⇒暫し様子見。

    が宜しいかと思いますね。

    私は暫し様子見してます。





    • 編集済み Goofy's 2016年8月30日 8:09
    2016年8月29日 7:56
  • 英語ですが、公式アナウンスが出ましたのでご案内します。

    リンクが張れる身分ではないようなので、https:// を省いています。

    blogs.technet.microsoft.com/wsus/2016/09/21/resolving-error-0xc1800118/

    support.microsoft.com/en-us/kb/3194588

    2016年9月23日 5:58
  • 上記のURLに記載された方法では、回避できませんでした。
    日本語環境向けに最適化されていないようです。

    私の環境では以下の手順で不正なupgradeの情報を削除できました。
    同じエラーの方が必ずしも解消できるかは分かりませんが、参考までに投稿します。
    基本的な流れは英語用と同じです。


    - 現象が合致するかどうか確認するために実行するクエリ

    SUSのデータベースに接続して実行します。
    - WSUS データベースを簡単に操作するには (Windows Server 2012 編)
    https://blogs.technet.microsoft.com/jpwsus/2014/08/01/wsus-windows-server-2012/

    ------------------------------------
    select TotalResults = Count(*)
    from tbFile
    where (IsEncrypted = 1 and DecryptionKey is NULL) or (FileName like '%14393%.esd' and IsEncrypted = 0)
    ------------------------------------

    上記クエリの実行結果が "TotalResults > 0"なら合致です。私は二桁ありました。 


    --------------------------------------
    - WSUS サーバーにおける対処手順
    --------------------------------------

    1. PowerShell で下記コマンドを実行します。

    Get-WsusClassification | Where-Object -FilterScript {$_.Classification.Title -Eq “Upgrades”} | Set-WsusClassification -Disable


    2. PowerShell で下記コマンドを実行します。

    $s = Get-WsusServer

    $1607Updates = $s.SearchUpdates(“バージョン 1607”)

    $1607Updates | foreach { $_.Decline() }

    $1607Updates | foreach { $s.DeleteUpdate($_.Id.UpdateId) }


    3. PowerShell で下記コマンドを実行します。

    Get-WsusClassification | Where-Object -FilterScript {$_.Classification.Title -Eq “Upgrades”} | Set-WsusClassification


    4. WSUS データベースに接続し、下記クエリを実行します。

    declare @NotNeededFiles table (FileDigest binary(20) UNIQUE); insert into @NotNeededFiles(FileDigest) (select FileDigest from tbFile where FileName like '%14393%.esd'  except select FileDigest from tbFileForRevision); delete from tbFileOnServer where FileDigest in (select FileDigest from @NotNeededFiles) delete from tbFile where FileDigest in (select FileDigest from @NotNeededFiles)


    5. PowerShell で下記コマンドを実行します。

    $sub = $s.GetSubscription()
    $sub.StartSynchronization()


    この対処によって、Upgradeを適用する前の状態に戻ります。
    1607が再同期によって表示されたら、もう一度当該グループを承認します。


    --------------------------------------
    - WSUS クライアントにおける対処手順
    --------------------------------------

    1. コマンドプロンプトで下記コマンドを実行します。

    net stop wuauserv

    del %windir%\SoftwareDistribution\DataStore\*

    2. Windows Update を実行し、事象が改善されているか確認します。



    以上です。


    2017年2月3日 5:00