Internet Explorerでのダウンロードに奇妙な問題がある、IE7が完全にパッチされたWindows 7 SP1 x86マシンを使用しています。具体的には、他のexeと同様に、ピリオド/ドット/フルストップがアンダースコアに置き換えられます。そのため、foo.exe
のダウンロードはfoo_exe
になります。
ファイルをダウンロードしようとすると、最初は「このファイルをダウンロードできませんでした」で失敗し、ダウンロードプロンプトをキャンセル、開いたり終了したりしようとしても無視されます。ダウンロードを再試行すると、ダウンロードが正常に完了します。
IE11に更新しようとすると失敗し、C:\windows\IE11_main.log
にログエントリがあり、必要なファイルをダウンロードしようとして失敗したことを報告します。
診断手順:
Content-Length
およびContent-Type
具体的にファイルのダウンロード開始の Process Monitor トレースを実行すると、Temporary Internet Filesディレクトリに書き込むCreateFile
呼び出しがエラーコードDELETE_PENDING
で失敗したことが示されました。プロセスモニターがフィルターされ、ダウンロードされるファイルの名前がパスに含まれるようになりました。
Process Explorer 表示 オープンハンドル ローミングプロファイルサービスを実行しているsvchost
によって開かれたTemporary Internet Filesディレクトリに。サービスを再起動するとハンドルが解放され、IEでファイルを正しく書き込むことができました。
ダウンロードに関するこれ以上の問題は報告されていません。
私はこれとまったく同じ問題を抱えていましたが、少なくとも私の場合は何が原因かを突き止めました。
私はFoolish ITからCryptoPreventツールを実行しましたが、そのオプションの1つは、グループポリシーを一時的なインターネットファイルで実行可能ファイルをブロックするに追加することです。
このポリシー変更を元に戻して再起動すると、IE 11はapplication.exeをapplication_exeにスワップアウトするのを停止しました。
私の場合は解決策だったので、この投稿を追加したかっただけです。
ミッチが答えたように、
PcaSvc(プログラム互換性アシスタントサービス)のバグ(ハンドルリーク)のようです。これは、次のように修正する必要があります。 Windows 7 SP1またはWindows Server 2008 R2でInternet Explorerを使用してファイルをダウンロードしようとすると、エラーメッセージが表示されるSP1 。
foo.exe
がfoo_exe
になる主な理由は、Content.IE5に保存されている削除保留中のフォルダーに対してCreateFile
がDELETE_PENDING
を返すためです。たとえば、C:\Users\USERNAME\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\9I1B2791
です。
9I1B2791
はsvchost.exe
によって開かれました。これは、Process Explorerまたは Handle Windows Sysinternalsを使用して確認できます。
多くのsvchost.exe
プロセスが起動されています。 svchost.exe
を実行すると、PcaSvcをホストしているtasklist /svc
を見つけることができます。
問題のあるsvchost.exe
を終了すると、リークされたハンドルが解放されます(その後、削除保留中のフォルダも削除されます)。
結局のところ、ファイルを正しくダウンロードできます。
デフォルトを復元し、インターネットオプションの[詳細設定]タブでユーザー設定をリセットすると、この問題が解決することがわかりました。何が問題の原因であるかをまだ見つけていません。
私にとっては、Internet Explorer 11では、Zemanaという会社からAnti Logger SDKというプログラムをアンインストールしてから、コンピューターを再起動することで問題が解決しました。