Dialog "Buka Dengan" mengabaikan pilihan saya

41

Saya menjalankan Windows 7 x64. Saya memiliki tipe file yang ingin saya kaitkan dengan Microsoft Access 2003.

Saya klik kanan pada file tersebut dan pilih Open With-> Choose Default program. Dalam dialog "Open With", saya memilih tombol browse. Saya memilih Program Files (x86) \ Microsoft Office \ Office11 \ msaccess.exe dan tekan "Open".

Saya berakhir kembali pada dialog "Buka Dengan", tetapi tidak ada yang berubah. Akses tidak terdaftar sebagai program untuk digunakan untuk membuka file. Program asli (Adobe Acrobat) yang dikaitkan dengan program ini masih dipilih.

Adakah tips untuk membuat asosiasi ini berfungsi?

David Robison
sumber
4
Ya, ini adalah bug aneh yang telah mengganggu saya sejak lama dan beberapa versi Windows. Itu hanya terjadi sesekali jadi saya belum melacak yang dapat dieksekusi / memicu perilaku ini, sehingga saya tidak dapat menemukan kesamaan yang unik di antara mereka.
Synetech
itu terjadi karena windows hanya menggunakan nama yang dapat dieksekusi, bukan path lengkap, ketika menyimpan asosiasi. Penjelasan dan solusi lengkap: superuser.com/a/886139/425338
diego nunes

Jawaban:

49

Penyebabnya kemungkinan besar kekhilafan dalam registri yang menyelinap masuk untuk beberapa alasan yang tidak diketahui.

Pastikan nilai kunci di lokasi berikut berisi jalur yang benar:

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

Cari nama aplikasi dan ekstensi file di registri untuk melihat apakah entri lain juga rusak.

Joozey
sumber
4
Ini persis masalah bagi saya .. begitu saya mengubah nilai di lokasi yang tepat, itu berfungsi dengan baik segera setelah saya mencoba menelusuri -> buka lagi
abelito
Ketika nilai kunci tidak menunjuk ke lokasi yang tepat dari aplikasi, ubahlah seperti yang ditunjukkan dalam jawaban lain
sancho.s Reinstate Monica
2
Ini memperbaikinya untuk saya. Masalahnya adalah saya memutakhirkannya dari 32-bit ke 64-bit, jadi itu mencari Program Files (x86)bukannyaProgram Files
endolith
2
Memperbaiki jalur ke aplikasi di kunci registri ini memperbaikinya. Itu muncul ketika saya menghapus aplikasi, dan kemudian menginstal ulang dengan jalur yang berbeda, kunci registri ini tidak diperbarui. Tampaknya menjadi bug Win7 bahwa jika entri untuk aplikasi ada, windows keluar dari proses pemilihan aplikasi tanpa mengubah entri registri; bahkan jika jalur yang Anda pilih tidak cocok dengan nilai entri registri yang ada. Mencegah pengguna mengubah jalur ke aplikasi yang ada menggunakan GUI "Buka dengan".
chetto
3
Selamat MS .... 6 setengah tahun kemudian dan kami masih melakukan ini.
ZaLiTHkA
14

Sebenarnya ini adalah masalah yang sangat sederhana. Itu terjadi karena Windows menggunakan asosiasi hanya berdasarkan nama program yang dapat dieksekusi .

Setiap kali Anda mengaitkan suatu program dengan ekstensi, program tersebut akan hadir pada HKEY_CLASSES_ROOT\Applicationsdaftar, di mana nama kuncinya adalah nama dasar dari executable (mis., MSACCESS.EXEDan AcroRD32.exe). Anda tidak dapat mengaitkan program lain dengan ekstensi file jika memiliki nama yang dapat dieksekusi yang sama . Apa yang terjadi adalah bahwa Anda mungkin memindahkan perangkat lunak ke lokasi lain (Anda dapat melihatnya kebanyakan terjadi dengan versi perangkat lunak portabel) dan ketika Anda mencoba menunjukkannya, Windows akan melihat bahwa nama tersebut sudah terdaftar dan sebagai gantinya akan mencoba menggunakan yang terdaftar jalan. Ketika tidak dapat menemukan itu, ia diam-diam mengabaikan kesalahan dan menyajikan dialog kembali tanpa perubahan apa pun.

Solusinya sama sederhana: hanya memperbaiki atau menghapus kunci dan coba lagi. Itu akan berhasil.HKCR\Applications\YourAppName.exe

diego nunes
sumber
Ini juga terjadi ketika Anda menginstal beberapa versi Adobe Photoshop (melalui Creative Cloud) yang semuanya menggunakan nama yang dapat dieksekusi yang sama.
Phrogz
Itu dia! Sangat bodoh, mereka harus menyimpan jalan atau hash juga.
Philipp F
11

Kunci registri yang ditunjukkan di atas adalah masalah saya.

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

Harus dibaca:

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

untuk akses 2010.

Itu masih memiliki entri:

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

untuk kantor 2007.

File tidak ada di lokasi itu sehingga tidak muncul di pemilih aplikasi hingga saya mengubah entri.

Setelah saya memperbarui registri saya dapat memilih Microsoft Access langsung dari daftar aplikasi yang tersedia.

Mike Row
sumber
4

Saya memiliki masalah yang sama dengan Teks Sublime. Tidak akan muncul di Open Withdialog tidak peduli apa yang saya lakukan. Ini adalah bagaimana saya menyelesaikannya.

  1. Buka regeditatau editor registri apa pun.
  2. Arahkan ke: \HKEY_CURRENT_USER\Software\Classes\Applications\sublime_text.exe\shell\open.
  3. Hapus semua subkunci.
  4. Buat subkunci commanddengan nilai "C:\path\to\sublime_text.exe" "%1"(termasuk tanda kutip ganda!).

Tentu saja, ini akan bekerja dengan program apa pun, tidak hanya Teks Sublime. Ganti saja sublime_text.exedengan program Anda yang dapat dieksekusi.

Zenadix
sumber
2

Jika semuanya gagal, Anda dapat mengedit registri secara manual (cadangan sarang / kunci terlebih dahulu):

Setiap jenis file (ekstensi) yang memiliki aplikasi terkait memiliki kunci Registry di bawah HKEY_CLASSES_ROOT.

Atau gunakan FileAsoc , Editor Asosiasi File Windows

FileAsoc adalah freeware open source.

Atau Dokter Jenis File , yang merupakan bagian dari Alat Daya Elemen Kreatif (shareware)

teks alternatif

Taji
sumber
Mereka cara untuk mengubah ini melalui registri ditunjukkan dalam jawaban lain
sancho.s Reinstate Monica
1
FileAsoc bagi saya sepertinya bukan rekomendasi yang bagus, itu membutuhkan lingkungan runtime VB yang agak aneh (yang tidak diinstal secara default, dan tampaknya sulit didapat, tautan dari halaman FileAsoc ke ini sudah mati. Dan "Elemen Kreatif yang direkomendasikan" Power Tools "juga tidak tersedia lagi!
codeling
1
Sepertinya program ini telah jatuh dari web. Alih-alih, coba FileTypesMan (berfungsi untuk saya): nirsoft.net/utils/file_types_manager.html
roblogic
1

Saya memperbaiki masalah untuk wmplayer.exe saya (yang hilang dan tidak dapat ditambahkan di dialog terbuka) dengan mengubah

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

dari

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

untuk

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

Di mana Programme'Program Files' versi lokal (Jerman). Ini tidak masuk akal bagi saya (seperti ketika saya menekan "salin path" di menu shell windows explorer, path berisi Program Files. Dan ketika saya menambahkan Media Player dengan browsing di dialog "terbuka dengan", itu juga ditambahkan dengan Program Files), tetapi itu berfungsi sebagai solusi, di mana hanya menghapus kunci reg tidak.

Kastenfrosch2
sumber
0

Saya telah melihat kasus di mana beberapa dialog tidak meminta Anda untuk peningkatan keamanan dan tidak memberi Anda pesan bahwa perubahan tidak dapat dilakukan. Coba lakukan melalui panel kontrol

Panel Kontrol -> Program -> Program Default -> Atur Asosiasi

Atau cukup ketik "buka file" ke dalam pencarian menu mulai dan pilih "Buat tipe file selalu terbuka dengan program tertentu"

kuda pucat
sumber
0

Baru-baru ini saya memiliki masalah yang sama dengan semua asosiasi file media saya, dan sepertinya karena media player yang menjengkelkan yang disebut DAPlayer. Bahkan di bawah Control Panel/ Programs/ Default Programs/ Set Default Programs, saya tidak dapat mengubah program default. Rupanya, itu mengatur UserChoicekunci di bawah HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExtsuntuk semua asosiasi file untuk akses read-only, bahkan untuk administrator. Bahkan setelah menghapus instalasi program, semua asosiasi saya tetap terjebak pada "Aplikasi Tidak Diketahui".

Cara paling sederhana untuk memperbaikinya adalah dengan menelusuri kunci itu di Regedit, klik kanan dan pilih Izin, klik tombol Lanjut, centang "Ganti semua izin objek anak", dan klik OK.

Atau jika Anda lebih suka baris perintah, Anda dapat menggunakan alat Windows Resource Kit yang disebut SubInACL :

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

Tapi hati-hati dengan operasi registri massal seperti ini: penggunaan yang tidak benar dapat membuat sistem Anda tidak dapat dioperasikan! Saya tidak bertanggung jawab atas tindakan Anda.

Trevor Robinson
sumber
0

NirSoft sering menyelamatkan: http://www.nirsoft.net/utils/file_types_manager.html

Itu adalah FileTypesMan (Manajer Jenis File untuk Windows) oleh NirSoft.

Jim Hoyle
sumber
Selamat Datang di Pengguna Super! Di situs T&J ini kami mencoba memberikan jawaban yang bagus untuk pertanyaan yang diposkan orang. Sebagian dari ini termasuk jawaban dalam posting Anda, bukan hanya memberikan tautan ke halaman lain yang mungkin menjawab pertanyaan . Harap edit jawaban Anda untuk memasukkan solusi aktual untuk pertanyaan yang diposting. Lihat Cara referensi materi yang ditulis oleh orang lain untuk bantuan.
cascer1
0

Cara yang baik untuk memperbaikinya adalah menghapus semua catatan yang terkait dengan aplikasi yang Anda inginkan

Sebagai contoh:

Jika file .exe yang akan ditempatkan pada daftar Open With NOTEPAD ++. EXE

1 - Buka regedit dan temukan untuk notepad ++ .exe

2 - Hapus semua catatan yang ditemukan

3 - Sekarang coba buka dengan dialog lagi

... Bleem !!

PYK
sumber