この記事は3年以上前に書かれた記事です。情報が古い可能性があります。
Internet Explorer は 2022年6月15日 に公式サポートが終了しました。
何かの拍子に意図せずファイル(拡張子)の関連付けが変更されてしまい、 IEでHTTP(URL)やHTMLファイルを開こうとした場合の動作がおかしくなることがある。 大抵、新しいソフトをインストールしたとき、 そのインストーラが勝手に関連付けを変えてしまっているのだが、 これを元に戻したいぞ、というときのメモ。
とりあえず試すこと
まず、以下を試みる。
- 「インターネットオプション」→「プログラム」タブで「Internet Explorer 起動時に通常使用するブラウザを確認する」チェックボックスがOFFになっている場合はONにして、IEを再起動。
(参考)Internet Explorer を既定のブラウザに戻す方法 (Windows) - 1でもダメな場合、心当たりのソフトがあれば、関連付けの設定がないか確認。
ある場合は、関連付けをはずす。
(例)Lunascapeの場合、「Lunascape設定」→「動作」→「関連付け」で解除することができる。 - 2でもダメな場合は、Windows Update を試す。
- 3でもダメな場合は、OSの再起動。
- 4でもダメな場合は、現在、HTMLやURLを開く場合に関連付けられているアプリケーションをアンインストール。
それでも修復されない場合
エクスプローラで修復する
Windows XP の場合、Explorer のメニューの「ツール」→「フォルダオプション」ダイアログの 「ファイルの種類」タブで、ファイルタイプと、それを開くアプリケーションの関連付けを設定できる。
まず、URL(プロトコル)の関連付け。
- 「登録されているファイルの種類」から、「URL: HyperText? 転送プロトコル (HTTP)」というエントリをみつける。
ない場合はつくる。名前は何でも良いが、わかりやすいものにする。 - 「詳細設定」ボタンを押す。
- 「open」というアクションを選択し「編集」ボタンを押す。
ない場合は「新規」で「open」をつくる。 - 「アクションを実行するアプリケーション」にIEの絶対パス+”-nohome”と入力する。
例)”C:\Program Files\Internet Explorer\iexplore.exe” -nohome - 「DDEを使う」にチェックを入れる。
- 「DDEメッセージ」に次の文字列を入力する。
“%1”,,-1,0,,,, - 「アプリケーション」に”IExplore”と入力する。
- 「DDEアプリケーションが実行していないとき」は空白のまま。
- 「トピック」に”WWW_OpenURL”と入力する。
- 以上で「OK」ボタンを押してダイアログを閉じる。
これでURLがIEで開くようになるはずだが、 通常は、FTPやHTTPSなどもIEに関連付けられているはずなので、 以下のエントリにも同様の設定をする。
- URL: Gopher プロトコル
- URL: HyperText? 保護機能付き転送プロトコル (HTTP)
- URL: ファイル転送プロトコル (FTP)
FTPの場合は「DDEアプリケーションが実行していないとき」に”*”を入力する。
次に、ファイル拡張子の関連付け。
- 「登録されているファイルの種類」から、「HTML」というエントリをみつける。
- 「詳細設定」ボタンを押す。
- 「開く(&O)」というアクションを選択し「編集」ボタンを押す。
- 「アクションを実行するアプリケーション」にIEの絶対パス+”%1″と入力する。
例)”C:\Program Files\Internet Explorer\iexplore.exe” %1 - 「DDEを使う」にチェックを入れる。
- 「DDEメッセージ」に次の文字列を入力する。
“%1”,,-1,0,,,, - 「アプリケーション」に”IExplore”と入力する。
- 「DDEアプリケーションが実行していないとき」に”*”を入力する。
- 「トピック」に”WWW_OpenURLNewWindow”と入力する。
- 以上で「OK」ボタンを押してひとつ戻る。
- 「同じウィンドウで開く(&A)」というアクションを選択し「編集」ボタンを押す。
- 「アクションを実行するアプリケーション」にIEの絶対パス+”-nohome”と入力する。
例)”C:\Program Files\Internet Explorer\iexplore.exe” -nohome - 「DDEを使う」にチェックを入れる。
- 「DDEメッセージ」に次の文字列を入力する。
“file://%1”,,-1,,,,, - 「アプリケーション」に”IExplore”と入力する。
- 「DDEアプリケーションが実行していないとき」は空白のまま。
- 「トピック」に”WWW_OpenURL”と入力する。
- 以上で「OK」ボタンを押してダイアログを閉じる。
同様の設定を、拡張子”HTM”に対しても行う。
コマンドで修復
CUIでの操作に慣れているなら、上記よりもコマンドで修復してしまう方がはやい。
HTMLファイルが現在どのファイルタイプに関連付けられているか調べる。
assoc .html
IEの場合は、
.html=htmlfile
などと返るが、IEでなければ別の名前になっている。 例えばFirefoxになっている場合、
.html=FirefoxHTML
と返る。このファイルタイプに関連付けられているアプリを調べる。
ftype htmlfile
IEの場合は、
htmlfile="C:\Program Files\Internet Explorer\iexplore.exe" -nohome
Firefoxの場合は、
FirefoxHTML="C:\Program Files\Mozilla Firefox\firefox.exe" -url "%1"
などと返ってくる。
つまり、この関連付けを変更してやれば良い。
ファイルタイプのアプリケーションの関連付けを変更するには ftype コマンドで行う。
ftype (ファイルタイプ名)=(アプリケーションのパス) [引数] [オプション]
例えば、HTTPを開くアプリケーションをIEにするには、
ftype HTTP="C:\Program Files\Internet Explorer\iexplore.exe" -nohome
とする。同様にFTPとHTTPSも設定。
ftype ftp="C:\Program Files\Internet Explorer\iexplore.exe" %1 ftype https="C:\Program Files\Internet Explorer\iexplore.exe" -nohome
ファイルタイプの関連付けの変更は assoc コマンドで行う。
assoc (拡張子)=(ファイルタイプ名)
例えば、拡張子 html を htmlfile というファイルタイプに関連付けるなら、
assoc .html=htmlfile
IEが既定ブラウザになっている場合は、次のようになっている。
ftp="C:\Program Files\Internet Explorer\iexplore.exe" %1 gopher="C:\Program Files\Internet Explorer\iexplore.exe" -nohome htmlfile="C:\Program Files\Internet Explorer\iexplore.exe" -nohome HTTP="C:\Program Files\Internet Explorer\iexplore.exe" -nohome https="C:\Program Files\Internet Explorer\iexplore.exe" -nohome ITS FILE="C:\Program Files\Internet Explorer\iexplore.exe" -nohome mhtmlfile="C:\Program Files\Internet Explorer\iexplore.exe" -nohome VisioViewer.Viewer="C:\Program Files\Internet Explorer\iexplore.exe" -nohome xbmfile="C:\Program Files\Internet Explorer\iexplore.exe" -nohome XEV.OriginalApp="C:\Program Files\Internet Explorer\iexplore.exe" -nohome xslfile="C:\Program Files\Internet Explorer\iexplore.exe" -nohome
ちなみに、Firefoxの場合は以下のようになっているっぽい。
FirefoxHTML=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "%1" FirefoxURL=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "%1" MacromediaFlashPaper.MacromediaFlashPaper=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -url "%1" ftp=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "%1" gopher=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "%1" HTTP=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "%1" https=C:\PROGRA~1\MOZILL~1\FIREFOX.EXE -requestPending -osint -url "%1"
まだ修復できないとき
ゲイツに聞け。(Microsoft Knowledge Base)
- (882868)Internet Explorer 6 で、リンクを新しいウィンドウで開けない場合の対処方法
- (318378)Windows XP で Internet Explorer を再インストールまたは修復する方法