Internet Explorer ファイルの関連付けを修復

何かの拍子に意図せずファイル(拡張子)の関連付けが変更されてしまい、 IEでHTTP(URL)やHTMLファイルを開こうとした場合の動作がおかしくなることがある。 大抵、新しいソフトをインストールしたとき、 そのインストーラが勝手に関連付けを変えてしまっているのだが、 これを元に戻したいぞ、というときのメモ。

とりあえず試すこと

まず、以下を試みる。

  1. 「インターネットオプション」→「プログラム」タブで「Internet Explorer 起動時に通常使用するブラウザを確認する」チェックボックスがOFFになっている場合はONにして、IEを再起動。
    (参考)Internet Explorer を既定のブラウザに戻す方法 (Windows)
  2. 1でもダメな場合、心当たりのソフトがあれば、関連付けの設定がないか確認。
    ある場合は、関連付けをはずす。
    (例)Lunascapeの場合、「Lunascape設定」→「動作」→「関連付け」で解除することができる。
  3. 2でもダメな場合は、Windows Update を試す。
  4. 3でもダメな場合は、OSの再起動。
  5. 4でもダメな場合は、現在、HTMLやURLを開く場合に関連付けられているアプリケーションをアンインストール。

それでも修復されない場合

エクスプローラで修復する

Windows XP の場合、Explorer のメニューの「ツール」→「フォルダオプション」ダイアログの 「ファイルの種類」タブで、ファイルタイプと、それを開くアプリケーションの関連付けを設定できる。

まず、URL(プロトコル)の関連付け。

  1. 「登録されているファイルの種類」から、「URL: HyperText? 転送プロトコル (HTTP)」というエントリをみつける。
    ない場合はつくる。名前は何でも良いが、わかりやすいものにする。
  2. 「詳細設定」ボタンを押す。
  3. 「open」というアクションを選択し「編集」ボタンを押す。
    ない場合は「新規」で「open」をつくる。
  4. 「アクションを実行するアプリケーション」にIEの絶対パス+"-nohome"と入力する。
    例)"C:\Program Files\Internet Explorer\iexplore.exe" -nohome
  5. 「DDEを使う」にチェックを入れる。
  6. 「DDEメッセージ」に次の文字列を入力する。
    "%1",,-1,0,,,,
  7. 「アプリケーション」に"IExplore"と入力する。
  8. 「DDEアプリケーションが実行していないとき」は空白のまま。
  9. 「トピック」に"WWW_OpenURL"と入力する。
  10. 以上で「OK」ボタンを押してダイアログを閉じる。

これでURLがIEで開くようになるはずだが、 通常は、FTPやHTTPSなどもIEに関連付けられているはずなので、 以下のエントリにも同様の設定をする。

  • URL: Gopher プロトコル
  • URL: HyperText? 保護機能付き転送プロトコル (HTTP)
  • URL: ファイル転送プロトコル (FTP)
    FTPの場合は「DDEアプリケーションが実行していないとき」に"*"を入力する。

次に、ファイル拡張子の関連付け。

  1. 「登録されているファイルの種類」から、「HTML」というエントリをみつける。
  2. 「詳細設定」ボタンを押す。
  3. 「開く(&O)」というアクションを選択し「編集」ボタンを押す。
  4. 「アクションを実行するアプリケーション」にIEの絶対パス+"%1"と入力する。
    例)"C:\Program Files\Internet Explorer\iexplore.exe" %1
  5. 「DDEを使う」にチェックを入れる。
  6. 「DDEメッセージ」に次の文字列を入力する。
    "%1",,-1,0,,,,
  7. 「アプリケーション」に"IExplore"と入力する。
  8. 「DDEアプリケーションが実行していないとき」に"*"を入力する。
  9. 「トピック」に"WWW_OpenURLNewWindow?"と入力する。
  10. 以上で「OK」ボタンを押してひとつ戻る。
  11. 「同じウィンドウで開く(&A)」というアクションを選択し「編集」ボタンを押す。
  12. 「アクションを実行するアプリケーション」にIEの絶対パス+"-nohome"と入力する。
    例)"C:\Program Files\Internet Explorer\iexplore.exe" -nohome
  13. 「DDEを使う」にチェックを入れる。
  14. 「DDEメッセージ」に次の文字列を入力する。
    "file://%1",,-1,,,,,
  15. 「アプリケーション」に"IExplore"と入力する。
  16. 「DDEアプリケーションが実行していないとき」は空白のまま。
  17. 「トピック」に"WWW_OpenURL"と入力する。
  18. 以上で「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)

参考サイト


MLEXP. Wiki


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-15 (土) 12:07:34 (1621d)