現在オフラインです。再接続するためにインターネットの接続を待っています

"アクセスが拒否されました"または "ファイルが使用中です" エラーにより Microsoft Framework のパッチが失敗する場合がある

現象
GAC (Global Access Cache) のアセンブリ ファイルがロックされているか "使用中" である場合、このファイルにより .NET Framework のパッチでエラーが発生する可能性があります。この問題は、Fusion がロールバックを処理する方法のバグにより悪化し、ファイルが削除される原因になる可能性があります。これにより、マネージ アプリケーション (フレームワーク アセンブリに依存するアプリケーション) でエラーが発生します。詳細については、次のマイクロソフト Web サイトを参照してください。
2260913 ファイルを使用またはファイルをロックすることにより、Framework のアセンブリ ファイルが削除される
エラーが発生したパッチの MSI Verbose ログには、次のような内容が含まれている場合があります。

>>
'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\system.dll' because of system error: Access is denied.

06/22/10 11:57:26 DDSet_Status: Sleeping 100ms...
MSI (s) (54!70) [11:57:26:738]: Product: Microsoft .NET Framework 2.0 Service Pack 2 -- Windows インストーラー パッケージに問題があります。詳細情報については、セットアップ ログを参照してください。
Windows インストーラー パッケージに問題があります。詳細情報については、セットアップ ログを参照してください。
06/22/10 11:57:26 DDSet_CARetVal: 0
06/22/10 11:57:26 DDSet_Exit: InstallAssembly ended with return value 1603
MSI (s) (54:94) [11:57:26:758]: User policy value 'DisableRollback' is 0
MSI (s) (54:94) [11:57:26:758]: Machine policy value 'DisableRollback' is 0
アクション終了 11:57:26: InstallExecute. 戻り値 3.
<<

または

>>
02/22/10 08:38:32 DDSet_Status: Sleeping 100ms...
02/22/10 08:38:32 DDSet_Error: Failed to install assembly C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll. IAssemblyCache->InstallAssembly() returned -2147024864.
02/22/10 08:38:32 DDSet_Error: Failed to install assembly 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.EnterpriseServices.dll' because of system error:ファイルが別のプロセスで使用されているため、プロセスはファイルにアクセスできません。
<<
原因
アセンブリが "使用中" またはロックされている場合、パッチが適用されると、パッチではエラーが発生します。
解決方法
アセンブリにロックを設定する可能性があるプロセスを実行させないことにより、この問題を回避することができます。

アセンブリが使用中であるかどうかを検出するには、次の手順を実行します。
  1. procexp.exe をダウンロードして、アセンブリをロックしているプロセスを検出します。
  2. procexp.exe を起動し、Ctrl + F キーを押して、[Process Explorer Search] ウィンドウを開きます。
  3. [Handle or DLL substring] ボックスに「Assembly」と入力し、[Search] をクリックします。
  4. 表示されたすべてのファイルは、パッチのインストールに影響する可能性があります。表示されたすべてのプロセスを終了するか、関連付けられたアプリケーションを閉じます。これを行うには、以下の手順を実行します。
    1. [Process Explorer Search] ウィンドウで、終了するプロセス名をクリックしてプロセスを確認します。
    2. [Process] ウィンドウでプロセス名を右クリックします。
    3. [Kill Process] をクリックしてプロセスを終了します。

KB974417 KB979909 MS10-041
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2263996 - 最終更新日: 02/09/2012 12:12:00 - リビジョン: 2.0

Microsoft .NET Framework 2.0, Microsoft .NET Framework 2.0 Service Pack 1 (x86), Microsoft .NET Framework 2.0 Service Pack 2, Microsoft .NET Framework 3.0, Microsoft .NET Framework 3.0 Service Pack 1, Microsoft .NET Framework 3.0 Service Pack 2, Microsoft .NET Framework 3.5, Microsoft .NET Framework 3.5 Service Pack 1

  • kbcip KB2263996
フィードバック