* Internet Explorer ファイルの関連付けを修復 [#m2babd4b]

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

** とりあえず試すこと [#k682a1d1]

まず、以下を試みる。

+ 「インターネットオプション」→「プログラム」タブで「Internet Explorer 起動時に通常使用するブラウザを確認する」チェックボックスがOFFになっている場合はONにして、IEを再起動。&br;
(参考)[[Internet Explorer を既定のブラウザに戻す方法 (Windows):http://www.mozilla-japan.org/kb/solution/2052]]
+ 1でも直らない場合は、Windows Update を試す。
+ 2でも直らない場合は、OSの再起動。
+ 3でも直らない場合は、現在、HTMLやURLを開く場合に関連付けられているアプリケーションをアンインストール。

** それでも修復されない場合 [#lcf9bb60]

*** エクスプローラで修復する [#s4bf33ee]

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

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

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

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

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

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

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

同様の設定を、拡張子"HTM"に対しても行う。

** コマンドで修復 [#wa546848]

CUIでの操作に慣れているなら、上記よりもコマンドで修復してしまう方がはやい。

HTMLファイルが現在どのファイルタイプに関連付けられているか調べる。&br;

 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"

*** 上記で修復できないとき [#p4b4736c]

ゲイツに聞け。(Microsoft Knowledge Base)

- [[(882868)Internet Explorer 6 で、リンクを新しいウィンドウで開けない場合の対処方法:http://support.microsoft.com/kb/882868/ja]]
- [[(318378)Windows XP で Internet Explorer を再インストールまたは修復する方法:http://support.microsoft.com/kb/318378/ja]]

** 参考サイト [#qb4eb984]

- [[@IT Windows TIPS:http://www.atmarkit.co.jp/fwin2k/win2ktips/index/index.html]]
-- [[コマンド・プロンプトでファイル拡張子の関連付けを変更する:http://www.atmarkit.co.jp/fwin2k/win2ktips/841ftypes/ftypes.html]]
-- [[ファイル・タイプの関連付けを変更する2つの方法:http://www.atmarkit.co.jp/fwin2k/win2ktips/482ftype/ftype.html]]

-----
[[MLEXP. Wiki]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS