「アプリケーションから開く」ダイアログで選択が無視される


41

Windows 7 x64を実行しています。Microsoft Access 2003に関連付けるファイルの種類があります。

ファイルを右クリックし、[プログラムから開く]-> [デフォルトプログラムの選択]を選択します。「アプリケーションから開く」ダイアログで、参照ボタンを選択します。Program Files(x86)\ Microsoft Office \ Office11 \ msaccess.exeを選択し、[開く]を押します。

「開く」ダイアログに戻りますが、何も変わっていません。Accessは、ファイルを開くために使用するプログラムとしてリストされていません。このプログラムに関連付けられている元のプログラム(Adobe Acrobat)がまだ選択されています。

この関連付けを機能させるためのヒントはありますか?


4
はい、これは長い間、いくつかのバージョンのWindowsで悩まされてきた奇妙なバグです。断続的にのみ発生するため、この動作をどの実行可能ファイルがトリガー/トリガーするかを追跡できませんでした。
Synetech


これは、関連付けを保存するときに、Windowsがフルパスではなく実行可能ファイル名のみを使用するために発生します。完全な説明と解決策:superuser.com/a/886139/425338
diego nunes

回答:


49

原因はおそらく、何らかの未知の理由で入り込んだレジストリの奇抜です。

次の場所のキー値に正しいパスが含まれていることを確認してください。

HKEY_CLASSES_ROOT\Applications\YOURFILE.EXE\shell\open\command

レジストリでアプリケーション名とファイル拡張子を検索して、他のエントリも破損していないかどうかを確認します。


4
これはまさに私にとっての問題でした。その正確な場所で値を変更すると、ブラウジングしようとするとすぐに
正常に機能しました

キーの値は、アプリケーションの正しい場所を指していない場合はに示すように、それを変更し、ここで別の答え
sancho.s復活モニカを

2
これは私のためにそれを修正しました。問題は、32ビットから64ビットにアップグレードしたため、Program Files (x86)代わりに探していましたProgram Files
エンドリス

2
このレジストリキーでアプリへのパスを修正すると修正されました。アプリをアンインストールし、別のパスで再インストールしたときに表示されますが、このレジストリキーは更新されませんでした。アプリのエントリが存在する場合、Windowsはレジストリエントリを変更せずにアプリ選択プロセスを終了するというWin7のバグのようです。選択したパスがレジストリエントリの既存の値と一致しない場合でも。これにより、ユーザーは「開く」GUIを使用して既存のアプリへのパスを変更できなくなります。
チェット

3
MSさん、おめでとう。
ZaLiTHkA

14

実際、これは非常に単純な問題です。Windowsは、プログラムのベース実行可能ファイル名のみに基づいて関連付けを使用するために発生します

プログラムを拡張機能に関連付けると、そのプログラムがHKEY_CLASSES_ROOT\Applicationsリストに表示されます。キー名は実行可能ファイルのベース名(MSACCESS.EXEおよびなどAcroRD32.exe)です。同じ実行可能ファイル名を持つ別のプログラムをファイル拡張子に関連付けることはできません。起こったのは、おそらくソフトウェアを別の場所に移動したことです(ほとんどの場合、ポータブルソフトウェアバージョンで発生することがわかります)。パス。それが見つからない場合、エラーを静かに無視し、何も変更せずにダイアログを戻します。

解決策も同様に簡単です。キーを修正するか削除して、もう一度やり直してください。それが動作します。HKCR\Applications\YourAppName.exe


また、複数のバージョンのAdobe Photoshopが(Creative Cloudを介して)インストールされ、それらすべてが同じ実行可能ファイル名を使用している場合にも発生します。
プログズ

それでおしまい!非常に愚かで、パスやハッシュも保存する必要があります。
フィリップF

11

上記のレジストリキーは私の問題でした。

HKEY_CLASSES_ROOT\Applications\MSACCESS.EXE\shell\open\command

読むべき:

"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "%1"

アクセス2010年。

まだエントリがありました:

"C:\Program Files\Microsoft Office\Office12\MSACCESS.EXE" "%1"  

2007年のオフィス用。

ファイルはその場所に存在しないため、エントリを変更するまでアプリケーションセレクタに表示されませんでした。

レジストリを更新したら、利用可能なアプリケーションのリストからMicrosoft Accessを直接選択できました。


4

Sublime Textでも同様の問題がありました。Open With私が何をしても、ダイアログには表示されません。これは私がそれを解決した方法です。

  1. 開くregeditか、レジストリエディタ。
  2. に移動します\HKEY_CURRENT_USER\Software\Classes\Applications\sublime_text.exe\shell\open
  3. すべてのサブキーを削除します
  4. command値を持つサブキーを作成します"C:\path\to\sublime_text.exe" "%1"(二重引用符が含まれています!)。

もちろん、これはSublime Textだけでなく、どのプログラムでも動作します。sublime_text.exeプログラムの実行可能ファイルに置き換えるだけです。


2

すべてが失敗した場合は、レジストリを手動で編集できます(最初にハイブ/キーをバックアップします)。

アプリケーションが関連付けられている各ファイルタイプ(拡張子)には、HKEY_CLASSES_ROOTの下にレジストリキーがあります。

または、Windowsファイル関連付けエディターであるFileAsocを使用します

FileAsocはオープンソースのフリーウェアです。

または、Creative Element Power Tools(シェアウェア)の一部であるFile Type Doctor

代替テキスト


彼らレジストリ経由でこれを変更する方法はで表示され、ここで別の答え
sancho.s復活モニカ

1
FileAsocはお勧めしません。FileAsocのページからこれらへのリンクは無効になっています。 Power Tools」も利用できなくなりました!
16

1
このプログラムはウェブから外れたようです。代わりに、FileTypesManを試してください(私のために働いた):nirsoft.net/utils/file_types_manager.html
roblogic

1

wmplayer.exeの問題を修正しました(ダイアログが開いている状態では見つからず、追加できませんでした)。

HKEY_CURRENT_USER\Software\Classes\Applications/wmplayer.exe\shell\open\command

から

"C:\Program Files\Windows Media Player\wmplayer.exe" "%1"

"C:\Programme\Windows Media Player\wmplayer.exe" "%1"

どこにProgramme「プログラムファイル」のローカライズ(ドイツ語)バージョンがあります。これは私には何の意味もありません(Windowsエクスプローラのシェルメニューで「パスをコピー」を押すと、パスにProgram FilesProgram Files)、しかし、それは単にregキーを削除しなかった解決策として働いた。


0

一部のダイアログでセキュリティの昇格を求められず、変更ができないというメッセージが表示されない場合があります。コントロールパネルから試してみてください

コントロールパネル->プログラム->デフォルトプログラム->関連の設定

または、スタートメニューの検索で「ファイルを開く」と入力し、「特定のプログラムで常にファイルの種類を開く」を選択します。


0

最近、すべてのメディアファイルの関連付けで同様の問題が発生しました。これは、DAPlayerと呼ばれる不快なメディアプレーヤーが原因であるように思われました。Control Panel/ Programs/ Default Programs/の下でもSet Default Programs、デフォルトのプログラムを変更できませんでした。どうやら、すべてのファイルの関連付けのUserChoiceキーをHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts、管理者であっても読み取り専用アクセスに設定しているようです。プログラムをアンインストールした後でも、私の関連付けはすべて「不明なアプリケーション」のままになりました。

これを修正する最も簡単な方法は、Regeditでそのキーを参照し、右クリックして[アクセス許可]を選択し、[詳細設定]ボタンをクリックして、[すべての子オブジェクトのアクセス許可を置き換える]をオンにし、[OK]をクリックすることです。

または、コマンドラインを使用する場合は、SubInACLというWindowsリソースキットツールを使用できます。

subinacl /subkeyreg HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts /grant=administrators=f /grant=system=f /grant="%USERNAME%"=f

ただし、このような一括レジストリ操作には注意してください。不適切な使用は、システムを動作不能にする可能性があります。私はあなたの行動に責任を負いません。


0

NirSoftはしばしばレスキューします:http ://www.nirsoft.net/utils/file_types_manager.html

それはNirSoftのFileTypesMan(Windows用ファイルタイプマネージャー)です。


スーパーユーザーへようこそ!このQ&Aサイトでは、人々が投稿した質問に対して適切な回答を提供するよう努めています。これの一部は、質問に回答する可能性のある別のページへのリンクを単に提供するのではなく、投稿に回答を含めることです。回答を編集して、投稿された質問に対する実際の解決策を含めてください。ヘルプについては、他者作成した資料を参照する方法を参照してください。
cascer1

0

これを修正する良い方法は、目的のアプリケーションに関連付けられているすべてのレコードを削除することです

例えば:

[開く]リストに配置される.exeファイルがNOTEPAD ++。EXEの場合

1- regeditを開き、notepad ++。exeを見つけます

2-見つかったすべてのレコードを削除する

3- ダイアログで開くをもう一度試してください

... ブリーム!!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.