DirectX SDKインストール時に”S1023エラー”が出る時の対処法

DirectXのSDKをインストールしようとすると、「S1023エラー」が出る場合があります。

セットアップが失敗しました。
再配布可能なパッケージのインストール中にエラーが発生しました。
開いているすべてのプログラムを閉じて、セットアップをもう一度実行してください。
それでも問題が解決しなければ、DirectX開発者サポートにお問い合わせ下さい。


このS1023エラーですが、これは”インストーラが他のプロセスの起動に失敗した”という意味です。
エラーメッセージだけでは、何のプロセスの起動に失敗したかは表記されていないのですが、原因はDirectXのセットアップ作業中に実施される”Visual C++ 2010 再頒布可能パッケージ”(Visual C++ 2010 Redistributable Package)のインストールで問題が起きている場合がほとんどです。
※DirectXのインストーラーは、セットアップ中に裏でVC++の再頒布可能パッケージをインストールしています。


S1023エラーは常に起きるわけではなく、以下の条件を満たしている場合に発生するようです。
DirectX SQKのバージョンがJune 2010のものをインストールしている。
 
64bit版のWindowsを使用している。
  (32bit版でも起きるかも...? 環境が無いので詳細不明)
 
Microsoft Visual C++ 2010 再頒布可能パッケージをインストールしている。


問題が発生する理由

そもそも、なぜ”VC++の再頒布可能パッケージが入っているとDirectX SDKのインストールに失敗するのか?”という話ですが、これはJune 2010版SDKのインストーラにバグがあって、DirectXがインストールしようとする再頒布可能パッケージより”新しい”バージョンの「Visual C++ 2010 再頒布可能パッケージ」が既に入っていると問題が発生するようです。

再頒布可能パッケージは、あまり明示的にインストールする事は有りませんが、後者は、例えばVisual Stdio 2010をインストールすると依存コンポーネントとして自動で入ります。


対処法

対処法としては、以下の手順を踏んで作業すれば正常にインストール出来るようになります。

ざっくりとした作業フロー
Step1: 既にインストールされている最新の「Visual C++ 2010 再頒布可能パッケージ」を一旦削除する
Step2: DirectXのSDKをインストールする。
Step3: SDKインストール時に入った古い「Visual C++ 2010 再頒布可能パッケージ」をアンインストールする。
Step4: 改めて、最新の「Visual C++ 2010 再頒布可能パッケージ」を単独でインストールする。

という訳で、各ステップの具体的な作業手順を紹介していきます。

既にインストールされている最新の「Visual C++ 2010 再頒布可能パッケージ」を一旦削除


コントロールパネル -> プログラムの機能を選択します。(WinXPの場合は”コントロールパネル -> アプリケーションの追加と削除”です)


一覧から「Visual C++ 2010 Redistributable Package」をアンインストールします。


64bitOSの場合は、x64とx86の2つあるかもしれませんが、両方アンインストールします。また、消すのはC++ 2010だけで、C++ 2008や2005はそのまま放置でOKです。
※念のため、バージョン番号を控えておいてください。


DirectX SDKをインストールする

次にDirectX SDKのインストールを行います。

SDKを以下のURLからダウンロードし、セットアップを起動します。
Download: DirectX SDK – (June 2010) – Microsoft Download Center – Download Details



最初の画面で一部文字化けしてますが、気にしなくてOKです。


同意しますを選択して、次へをクリック


性能向上のため,ハードの情報をマイクロソフトに送信するかの確認です。
特に送る義務も無いので”No”を選択して次へをクリック(送りたい人は別にYesでもOKです。)


お好みのコンポーネントを選択して、次へをクリック。
(今回の確認では、デフォルトのままにしました)


インストールが開始されます。


暫くすると正常終了されます。




SDKインストール時に入った古い「再頒布可能パッケージ」をアンインストール


再度コントロールパネルから確認すると、古いバージョンの「Visual C++ 2010 再頒布可能パッケージ」が入っている事が分かります。
(下の画像だと10.0.30319に戻っています。)


これを右クリックして、アンインストールします。


はいをクリックすれば、削除完了です。



改めて、最新の再頒布可能パッケージを単独インストール


最新版の「Visual C++ 2010 再頒布可能パッケージ」を下記のURLからダウンロードします。
Download: Microsoft Visual C++ 2010 再頒布可能パッケージ (x64)



同意するを選択して、インストールボタンをクリックすれば、最新のモノが入ります。


その後、KB2467173に対応するパッチを適用してください(WindowsUpdateからも更新可能です)
[MS11-025] Visual C++ 2010 再頒布可能パッケージ セキュリティ更新プログラム (2011 年 4 月 12 日) について

これで作業は完了です。
再度コントロールパネルより、バージョンが上がっている事を確認してください。

補足:
「Visual C++ 2010 再頒布可能パッケージ」のバージョンについてですが、10.0.30319は、VC++ 2010のService Pack1導入前で、10.0.40219はService Pack1導入後のものです。SP1ではsecurity fixとか行われてるので、必ず最新版にしておいてください。


ゲームプログラマになる前に覚えておきたい技術
はじめての3Dゲーム開発


4797338954
アクションゲームアルゴリズムマニアックス

関連記事

4 Responses to “DirectX SDKインストール時に”S1023エラー”が出る時の対処法”

  1. はまりん より:

    正常にインストールでき、助かりましたー。
    有難うございます。

    インストールに失敗した場合、ファイルはコピーされても、アンインストールできなかったので、すっきりしませんでした。

  2. ぶた より:

    “改めて、最新の再頒布可能パッケージを単独インストール” → “Download: Microsoft Visual C++ 2010 再頒布可能パッケージ (x64) http://support.microsoft.com/kb/2467173” では、当方の環境( Win8 Pro. )で最新版になりませんでした。

    “Microsoft Visual C++ 2010 Service Pack 1 再頒布可能パッケージ MFC のセキュリティ更新プログラム”
    http://www.microsoft.com/ja-jp/download/details.aspx?id=26999 が正しかったです。

  3. 匿名 より:

    > 64bit版のWindowsを使用している。
    > (32bit版でも起きるかも…? 環境が無いので詳細不明)

    Windows 7 32bit でも再現しました。

  4. 匿名2 より:

    Windows 7 32bit ですが現象発生しまして
    こちらのサイトで助かりました

コメントを残す

メールアドレスが公開されることはありません。