OXY NOTES

exeに特定のアプリケーションを関連付けた場合の対処法

Windowsでexeファイルが起動できないという致命的な問題

友人より「何もしてないのにパソコンがおかしくなった」という、ありがちなヘルプをいただきました。「はい、はい、いつものね」とたかをくくっていたら、本当におかしなことになっていましたw

PC内の全てのexeファイルが特定のアプリケーションのアイコンになっています。そして何を起動しても、特定のアプリケーションが立ち上がってしまいます。
恐らくexeファイルへの関連付けを変更してしまったのだと思われます。

一般の拡張子の場合は、右クリックから起動するアプリケーションを変更するだけで修正できますが、exeファイルとなると一筋縄ではいきません。
といった問題の修正方法のまとめです。

このページの内容はレジストリの修正を含みます。最悪の場合、起動すらできなくなることも考えられます。自己責任でご利用ください。

ちなみに今回の作業はVistaで行いました。OSによって違いがあるかもしれません。

exeへの関連付けを修復する方法

まずはメモ帳などのテキストエディタを開きます。…が、ここでさっそく問題が発生します。

テキストエディタもexeファイルなので、ダブルクリックで起動すると関連付けされた別のアプリケーションが起動してしまいます。
そのような場合は、関連付けされたアプリケーションのファイル名を一時的に別の名前に変更します。

割り当ててしまったアプリケーションが「Photoshop.exe」だった場合。

以下のように変更。

この状態で、再びテキストエディタを実行します。すると「ファイルを開くプログラムの選択」ウィンドウが表示されます。
参照」ボタンをクリックして、テキストエディタを選択し、「OK」ボタンで起動します。

テキストエディタを開いたら以下の内容をコピーペーストして「EXE-FIX.REG」というファイル名で保存します。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\.exe\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\exefile]
@="Application"
"EditFlags"=hex:38,07,00,00
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,31,00,30,00,31,00,35,00,36,00,00,00

[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"

[HKEY_CLASSES_ROOT\exefile\shell]

[HKEY_CLASSES_ROOT\exefile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
"IsolatedCommand"="\"%1\" %*"

[HKEY_CLASSES_ROOT\exefile\shell\runas]

[HKEY_CLASSES_ROOT\exefile\shell\runas\command]
@="\"%1\" %*"
"IsolatedCommand"="\"%1\" %*"

[HKEY_CLASSES_ROOT\exefile\shellex]

[HKEY_CLASSES_ROOT\exefile\shellex\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\PifProps]
@="{86F19A00-42A0-1069-A2E9-08002B30309D}"

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

保存した「EXE-FIX.REG」をダブルクリックして実行します。

実行できたらパソコンを再起動してください。
以上でexeファイルの関連付けが修正されているはずです。

(参考までに、私の環境では一度では上手くいかず、二度実行したところ無事修正できました。)


その他の解決方法

意外にexeファイルの関連付けを間違える方が多いようで、様々な環境用に修復の方法が紹介されています。
せっかくなのでこのページでまとめてみました。

Fix itを使う方法

マイクロソフトのフォーラムに「Fix it」という専用の修正ソフトが用意されています。これはVista専用の修正ソフトのようです。
https://support.microsoft.com/ja-jp/kb/950505

使い方は簡単。「Fix it」をダウンロードして実行するだけです。Microsoft謹製のソフトのため安心して実行できます。これで問題が解決するなら、お手軽です。

ただ、残念ながら私の試した環境では修正できませんでした。

自分で解決する方法

Fix itの解説ページに自分で修復する方法も紹介されています。
Windows VistaとWindows 7の方法と、XPの修正方法がそれぞれ紹介されています。コマンドプロンプトで指定したファイルを実行するというものです。

海外のページによる情報

海外のページで紹介されている方法です。

このページの方法はショートカットのLinkファイルと、exeへの関連付けの両方を修正できるようです。
Windows xpとWindows 7 Enterprise 64 bitでテスト済みとのことです。

使い方は上で紹介した方法と同じです。

「Windows Registry Editor Version 5.00」以下「[HKEY_CLASSES_ROOT\CLSID\{00021401-0000-0000-C000-000000000046}\shellex\MayChangeDefaultMenu]」までをコピーペーストして「EXE-FIX.REG」として保存。
(このコードの修正方法が上とは異なる)

ダブルクリックして実行後、再起動という手順です。


検索すると同様の問題と解決方法を取り上げたページは多数紹介されています。ご自身の環境に近いものを実行するのが良いと思います。
繰り返しになりますが、レジストリを編集するので、自己責任において実行してください。