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

文書翻訳 文書翻訳
文書番号: 2263996 - 対象製品
すべて展開する | すべて折りたたむ

現象

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] をクリックします。
    元に戻す画像を拡大する
    2525714
  4. 表示されたすべてのファイルは、パッチのインストールに影響する可能性があります。表示されたすべてのプロセスを終了するか、関連付けられたアプリケーションを閉じます。これを行うには、以下の手順を実行します。
    1. [Process Explorer Search] ウィンドウで、終了するプロセス名をクリックしてプロセスを確認します。
    2. [Process] ウィンドウでプロセス名を右クリックします。
    3. [Kill Process] をクリックしてプロセスを終了します。

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

プロパティ

文書番号: 2263996 - 最終更新日: 2012年2月9日 - リビジョン: 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
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com