Pertanyaan Bagaimana cara mencegah Wine dari menambahkan asosiasi file?


Wine secara otomatis menambahkan mimetypes dan asosiasi file tertentu (misalnya notepad.exe untuk file .ini). Sudah ada sebuah menjawab yang menjelaskan cara menghapus asosiasi ini.

Tapi bagaimana caranya mencegah Wine menambahkannya lagi dan lagi?


31
2017-07-23 14:51


asal




Jawaban:


Menonaktifkan winemenubuilder.exe semuanya akan mencegah anggur membajak asosiasi file Anda, tetapi itu juga akan mencegahnya membuat entri menu untuk perangkat lunak yang baru saja diinstal, yang mungkin merupakan perilaku yang tidak diinginkan. Solusi yang lebih baik adalah ini:

  1. Hapus pembajakan anggur yang ada (dari FAQ anggur):

    rm -f ~/.local/share/mime/packages/x-wine*
    rm -f ~/.local/share/applications/wine-extension*
    rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
    rm -f ~/.local/share/mime/application/x-wine-extension* 
    
  2. Edit /usr/share/wine/wine.inf (sebagai root), temukan [Services] bagian:

    [Services]
    HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
    ...
    

    dan mengeditnya sehingga tertulis:

    [Services]
    HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -r"
    ...
    

    (yaitu, untuk memulai winemenubuilder.exe tanpa -a beralih). Ini akan mencegah pembaruan asosiasi file pada akun pengguna baru (atau dengan yang baru WINEPREFIXes).

  3. Edit Anda $WINEPREFIX/system.reg file (jika ada) dengan cara yang sama. Di mana dikatakan

    [Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
    "winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -a -r"
    

    Hapus -a beralih. (Secara default, WINEPREFIX=$HOME/.wine.)

Ini akan mencegah anggur mencuri mimeapps pilihan Anda, tetapi winemenubuilder akan tetap menjalankan dan membuat entri desktop yang mudah digunakan untuk perangkat lunak Windoze Anda.


42
2018-01-05 11:54



Bagiku jalan itu agak /opt/wine-staging/share/wine/wine.inf. Jika file berada di lokasi yang tidak standar, jalankan locate wine.inf untuk menemukannya. - Hi-Angel


Dari http://wiki.winehq.org/FAQ:

Pengguna yang tidak ingin installer untuk aplikasi Windows mengubah asosiasi filetype, menambahkan item menu, atau membuat tautan desktop, dapat menonaktifkan winemenubuilder.exe . Ada beberapa cara untuk melakukan ini:

  • Dalam winecfg: sebelum menjalankan penginstal, jalankan winecfg. Buka tab dan jenis Perpustakaan winemenubuilder.exe ke dalam kotak "Penimpaan baru" (tidak ada dalam daftar tarik-turun). Klik tambahkan, lalu pilih dari kotak "Existing override". Klik "Edit" dan pilih "Nonaktifkan" dari daftar, lalu klik "Terapkan".

  • File registri: Jika Anda perlu menerapkan pengaturan berkali-kali (mis. Setiap kali Anda membuat ulang awalan Wine), pendekatan ini mungkin lebih nyaman. Buat file teks dengan ekstensi .reg (mis., disable-winemenubuilder.reg) berisi yang berikut:

    [HKEY_CURRENT_USER\Software\Wine\DllOverrides] 
    "winemenubuilder.exe"=""
    

    Untuk menerapkan pengaturan, jalankan regedit disable-winemenubuilder.reg

  • Variabel lingkungan: mengatur variabel lingkungan WINEDLLOVERRIDES ketika Anda menjalankan penginstal, misalnya,

    WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
    

Menonaktifkan winemenubuilder.exe akan menyebabkan program anggur untuk mencetak kesalahan yang tidak dapat mereka temukan (meskipun kesalahan tampaknya tidak mengganggu operasi program).


Pendekatan alternatif yang menghindari kesalahan adalah menggantinya dengan program tidak melakukan apa-apa. Kompilasi berikut ini dengan gcc Mincc di bawah anggur dan tempatkan eksekusi di C:\Windows\System32\winemenubuilder.exe:

  int main() { /* Do nothing */ return 0; }

Kemudian ikuti prosedur yang sama seperti di atas, tetapi atur winemenubuilder.exe menjadi "asli" alih-alih "nonaktifkan".


12
2017-07-26 15:44



Baik. Jadi bagi saya itu berarti saya membuat awalan, menginstal aplikasi saya, menghapus semua asosiasi anggur bawaan dan menu dengan tangan (saya ingin asosiasi aplikasi) dan kemudian mengubah kunci reg untuk mencegah asosiasi dari ditambahkan kembali setiap kali Wine diperbarui, kanan? - mniess


Karena ini adalah hit pertama di Google. FAQ Wine sekarang mencantumkan metode alternatif untuk versi anggur yang lebih baru.

"Dimulai dengan wine-3.14, winecfg memiliki kotak centang" Manage File Associations "pada tab Desktop Integration. Memeriksa itu memungkinkan winemenbuilder untuk membuat asosiasi file dan menghapus centang untuk menonaktifkan perilaku itu."


1
2017-09-01 16:37