Visual Studio 2008 および .NET Framework 3.5 のセットアップ ログから問題の原因を特定する方法

ロック済み Visual Studio 2008 および .NET Framework 3.5 のセットアップ ログから問題の原因を特定する方法

  • 2008年9月16日 4:50
    モデレータ
     
     

    このコンテンツは、MSDN フォーラム英語版にて紹介された FAQ コンテンツの "1.13 How to diagnose Visual Studio 2008 and .NET Framework 3.5 setup issues with setup Logs?" をベースに、日本向けにローカライズし作成したものです。


    Visual Studio 2008 および .NET Framework 3.5 のセットアップ ログから問題を特定するための Tips を紹介します。 (他のバージョンに適用できる共通の手順もあります。)

     

    以下のスレッドでは、ログの種類と保存場所について説明しています。
    「Visual Studio 2008 や .NET Framework 3.5 のセットアップ ログ ファイル」:
    http://blogs.msdn.com/astebner/archive/2007/07/31/4156781.aspx
    (日本語参考訳はこちら


    また、collect.exe ユーティリティを利用してセットアップ ログを収集することができます。
    http://blogs.msdn.com/heaths/attachment/8483493.ashx (英語)

     

    1. 上のリンクから collect.exe をダウンロードしてください。
    2. このツールは、保存して後から使用することも、即座に実行することもできます。
    3. このユーティリティは、Visual Studio および .NET に関連するすべてのログの圧縮キャビネットを %TEMP%\vslogs.cab に作成します。

     

    このツールに関する詳細は、以下のスレッドに紹介されています。
    http://blogs.msdn.com/heaths/archive/2008/05/09/visual-studio-and-net-log-collection-utility.aspx
    (日本語参考訳はこちら


    Visual Studio や .NET Framework のセットアップ ログに記録されているタイム スタンプは、問題の原因を究明するのに役立ちます。 インストール中に起きたイベント、エラーや例外が生じる直前に発生したイベントを順番に確認することができます。

     

    例えば、Vista x86 では、(dd_dotnetfx35error.txt の中に) 以下のような行があります。

     

    サンプル コード
    [12/21/07,18:51:15] Microsoft .NET Framework 2.0SP1 (CBS): [2] Error: Installation failed for component Microsoft .NET Framework 2.0SP1 (CBS). MSI returned error code 34

     

    そして、dd_dotnetfx35install.txt 内の18:51:15 以前に起きたイベントを確認できます。 例えば、以下の情報から手掛かりを見つけることができます。

     

    サンプル コード

    [12/21/07,18:42:42] Microsoft .NET Framework 2.0SP1 (CBS): "C:\Windows\system32\WUSA.exe" "c:\34415d89092dd9f6afb19de1dd\wcu\dotNetFramework\dotnetmsp\x86\NetFX2.0-KB110806-v6000-x86.msu" /quiet /norestart

    [12/21/07,18:42:42] Microsoft .NET Framework 2.0SP1 (CBS): CBSComponent Action: CreateProcess launched with cmd line : C:\Windows\system32\WUSA.exe "C:\Windows\system32\WUSA.exe" "c:\34415d89092dd9f6afb19de1dd\wcu\dotNetFramework\dotnetmsp\x86\NetFX2.0-KB110806-v6000-x86.msu" /quiet /norestart

    [12/21/07,18:42:42] BWaitForMSI(): Verifying we're the only installation currently in progress.

    [12/21/07,18:42:42] BWaitForMSI(): Ready to proceed with installation.  Continuing...

    [12/21/07,18:45:13] Microsoft .NET Framework 2.0SP1 (CBS): C:\Windows\system32\WUSA.exe exited with return value 34

    [12/21/07,18:45:13] Microsoft .NET Framework 2.0SP1 (CBS): Installation failed, attempting to retry

    [12/21/07,18:45:13] InstallRetryAttempted: GFN_MID NET Framework 2.0SP1 (CBS)

    [12/21/07,18:46:13] Microsoft .NET Framework 2.0SP1 (CBS): retrying...

    [12/21/07,18:46:13] BWaitForMSI(): Verifying we're the only installation currently in progress.

    [12/21/07,18:46:13] BWaitForMSI(): Ready to proceed with installation.  Continuing...

    [12/21/07,18:47:12] Microsoft .NET Framework 2.0SP1 (CBS): C:\Windows\system32\WUSA.exe exited with return value 34

    [12/21/07,18:47:12] Microsoft .NET Framework 2.0SP1 (CBS): Installation failed, attempting to retry

    [12/21/07,18:47:12] InstallRetryAttempted: GFN_MID NET Framework 2.0SP1 (CBS)

    [12/21/07,18:48:12] Microsoft .NET Framework 2.0SP1 (CBS): retrying...

    [12/21/07,18:48:12] BWaitForMSI(): Verifying we're the only installation currently in progress.

    [12/21/07,18:48:12] BWaitForMSI(): Ready to proceed with installation.  Continuing...

    [12/21/07,18:49:11] Microsoft .NET Framework 2.0SP1 (CBS): C:\Windows\system32\WUSA.exe exited with return value 34

    [12/21/07,18:49:11] Microsoft .NET Framework 2.0SP1 (CBS): Installation failed, attempting to retry

    [12/21/07,18:49:11] InstallRetryAttempted: GFN_MID NET Framework 2.0SP1 (CBS)

    [12/21/07,18:50:11] Microsoft .NET Framework 2.0SP1 (CBS): retrying...

    [12/21/07,18:50:11] BWaitForMSI(): Verifying we're the only installation currently in progress.

    [12/21/07,18:50:11] BWaitForMSI(): Ready to proceed with installation.  Continuing...

    [12/21/07,18:51:15] Microsoft .NET Framework 2.0SP1 (CBS): C:\Windows\system32\WUSA.exe exited with return value 34

     

    つまり、問題はハイライトされている箇所に絞り込まれています。 (たいていの場合、Error Return Code 34 は、再起動が必要であることを意味しています。)

     

    ハイライトされた箇所をインストール ソース (\wcu\dotNetFramework\dotnetmsp\x86\NetFX2.0-KB110806-v6000-x86.msu) から直接インストールし、マシンを再起動した後に Visual Studio 2008 のセットアップを再び実行することが推奨されます。 (この方法を試みる前に、.NET Framework クリーンアップ ツールを使用して .NET Framework をクリーンアップし、前回のインストールで残ったものをアンインストールする必要がある場合もあります。)

     

    実際に生じる問題はさまざまで、複雑になる傾向があるため、特定のエラー コードに対して決まった解決方法があるわけではありませんが、以下に、よく発生するエラー コードに関する情報と対応する解決方法を紹介したいと思います。

     

    a) MSI がエラー コード34を返した場合
    ― 考えられる解決方法: マシンの再起動

     

    b) エラー コード 6015
    ― 考えられる解決方法: ドメイン内の Windows Vista 搭載コンピューターにホットフィックスをインストールしようとした際に表示されるエラー メッセージ: 「Windows Update スタンドアロン インストーラエラー 0x8007177f がインストーラで発生しました。 このコンピュータではファイルの暗号化が無効になっています」
    http://support.microsoft.com/kb/933595/ja (機械翻訳)

     

    Encrypting File System (EFS) を使用したファイルの暗号化を妨げるドメイン ポリシーが有効になっている可能性があります。

     

    c) エラー コード 1
    ― 考えられる解決方法: このパッケージは、ベータ製品であるかレジストリが破損しているため、システム上で適用することができません。
    http://blogs.msdn.com/astebner/archive/2007/08/24/4548657.aspx (英語)

     

    関連スレッド:
    http://forums.msdn.microsoft.com/en-US/thread/191b3373-f7fa-4d49-b320-b8632ad8d291 (英語)

     

    d) エラー コード 5、0x5、0x80070005
    ― 考えられる解決方法:
    「SubInACL ツールを使用してファイルやレジストリへのアクセス権限を修正し、セットアップ エラーを解決する」
    http://blogs.msdn.com/astebner/archive/2006/09/04/739820.aspx (英語)

     

    e) エラー コード 0x80040154
    ― クラスが登録されていません。 以下を参照してください。
    「MSXML の登録情報が破損していることが原因で.NET Framework 3.5がインストールできない可能性があります」
    http://blogs.msdn.com/astebner/archive/2007/11/01/5826719.aspx (英語)

     

    f) 0x0013EC (5100)
    ― 包括的なセットアップ ブロック
    このエラー コードは、さまざまな状況で返されます。

     

    i. セットアップを実行しているユーザーが管理者権限を持っていない。
    ii. 以前のベータ版がインストールされている (アルゴリズムは、ここで記載されている.NET Framework 2.0と似ていますが、製品コードが install.ini ではなく、setup.sdb という名前のファイルに保存されています)。
    iii. .NET Framework 3.5 の最新バージョンがすでにインストールされている。
    iv. OS が未対応。
    v. OS に必要最低限の Service Pack がインストールされていない。

     

    g) 0x002332 (9010)
    ― セットアップを実行する前に、再起動する必要があります。
    このエラー コードが返されるのは、以下のレジストリ値にエントリーが追加されることにより、事前にシステム上で動いていた動作が、スケジュールされたファイル名変更の妨げとなっている場合です。

     

    レジストリのルート: HKEY_LOCAL_MACHINE
    レジストリのキー名: Software\Microsoft\Updates\UpdateExeVolatile
    レジストリの値名: Flags -or- Flags_<再起動時間>

     

    一般的に、このエラーは、システムの再起動によって解決できます。 再起動後もエラーが続いて起こる場合は、システムのレジストリから手動でこの Flags 値を削除して対処してください。

     

    くわしくは、以下をご確認ください。
    "Return codes for .NET Framework 3.0 setup":
    http://blogs.msdn.com/astebner/archive/2006/11/28/return-codes-for-net-framework-3-0-setup.aspx (英語)

     

    Aaron Stebner のブログや Heath Stewart のブログでは、他の Return Error Code についても解析しています。


    * 文中で紹介しました英語資料について、ある特定の部分を日本語にしてほしいなどのリクエストがありましたら、このスレッドへ返信投稿してください。 なお、すべてのリクエストにお答えできない場合もありますことをあらかじめご了承ください。

     

    __________________________________________

    マイクロソフト株式会社 フォーラム オペレータ 服部 清次

     

すべての返信

  • 2008年9月18日 5:42
    モデレータ
     
     

    上記スレッドの c) エラー コード 1 に関しまして、Microsoft Japan Forum Operators Blog で日本語訳を紹介していますので、ぜひご覧ください。

    この情報が皆さんのお役に立てることを願っています!

     

    ● 【日本語版】 Windows Vista のホットフィックスのインストールに失敗した際に考えられる原因:
    http://blogs.msdn.com/fmo_jp/archive/2008/09/18/windows-vista.aspx

     

    __________________________________________

    マイクロソフト株式会社 フォーラム オペレータ 服部 清次

     

  • 2008年10月14日 7:32
    モデレータ
     
     

    上記スレッドの e) エラー コード 0x80040154 に関しまして、Microsoft Japan Forum Operators Blog に参考日本語訳を掲載しましたので、ぜひご覧ください。

    この情報が皆さんのお役に立てることを願っています!

     

    ● 【日本語版】 MSXML 登録情報の破損が原因で生じると考えられる .NET Framework 3.5 のインストール失敗:
       http://blogs.msdn.com/fmo_jp/archive/2008/10/14/msxml-net-framework-3-5.aspx

     

    __________________________________________

    マイクロソフト株式会社 フォーラム オペレータ 服部 清次