Jak zapobiec dodawaniu powiązań plików przez Wine?

35

Wine automatycznie dodaje pewne typy mimetyczne i skojarzenia plików (np. Notepad.exe dla plików .ini). Istnieje już odpowiedź, która wyjaśnia, jak usunąć te powiązania.

Ale w jaki sposób można zapobiec dodawaniu Wine przez kolejne lata?

mniess
źródło

Odpowiedzi:

47

Całkowite wyłączenie programu winemenubuilder.exe zapobiegnie przechwyceniu powiązań plików przez wino, ale uniemożliwi także tworzenie pozycji menu dla nowo zainstalowanego oprogramowania, co może być niepożądanym działaniem. Lepszym rozwiązaniem jest to:

  1. Usuń istniejące porywacze wina ( z najczęściej zadawanych pytań dotyczących wina ):

    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. Edytuj /usr/share/wine/wine.inf(jako root), znajdź [Services]sekcję:

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

    i edytuj go, tak aby napisał:

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

    (czyli zacząć winemenubuilder.exebez -aprzełącznika). Zapobiegnie to aktualizacji skojarzeń plików na nowych kontach użytkowników (lub nowych WINEPREFIXes).

  3. Edytuj swój $WINEPREFIX/system.regplik (jeśli istnieje) w podobny sposób. Gdzie to mówi

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

    usuń -aprzełącznik. (Domyślnie WINEPREFIX=$HOME/.wine.)

Zapobiegnie to kradzieży wina przez preferowane aplikacje mimeapp, ale program winemenubuilder nadal będzie działał i tworzył wygodne wpisy pulpitu dla oprogramowania Windoze.

K3 --- rnc
źródło
1
Dla mnie ścieżka była raczej /opt/wine-staging/share/wine/wine.inf. Jeśli plik znajduje się w niestandardowej lokalizacji, uruchom go, locate wine.infaby go znaleźć.
Cześć Anioł
13

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

Użytkownicy, którzy nie chcą, aby instalator aplikacji systemu Windows zmieniał powiązania typów plików, dodawał elementy menu lub tworzył łącza na pulpicie, mogą wyłączyć winemenubuilder.exe. Można to zrobić na kilka sposobów:

  • W winecfg : przed uruchomieniem instalatora uruchom winecfg. Przejdź do zakładki Biblioteki i wpisz winemenubuilder.exew polu „Nowe zastąpienia” (nie ma go na liście rozwijanej). Kliknij dodaj, a następnie wybierz w polu „Istniejące przesłonięcia”. Kliknij „Edytuj” i wybierz „Wyłącz” z listy, a następnie „Zastosuj”.

  • Plik rejestru: jeśli musisz zastosować to ustawienie wiele razy (np. Za każdym razem, gdy ponownie tworzysz prefiks Wine), to podejście może być wygodniejsze. Utwórz plik tekstowy o nazwie z rozszerzeniem .reg (np. disable-winemenubuilder.reg) Zawierający:

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

    Aby zastosować ustawienie, uruchom regedit disable-winemenubuilder.reg

  • Zmienna środowiskowa: ustaw zmienną środowiskową WINEDLLOVERRIDES podczas uruchamiania instalatora, np.

    WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
    

Wyłączenie winemenubuilder.exespowoduje, że programy do wina drukują błędy, których nie mogą znaleźć (chociaż błędy te nie wydają się zakłócać działania programu).


Alternatywnym podejściem pozwalającym uniknąć błędów jest zastąpienie go programem „nic nie rób”. Skompiluj następujące polecenie z gcc MinGW pod wine i umieść plik wykonywalny w C:\Windows\System32\winemenubuilder.exe:

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

Następnie wykonaj tę samą procedurę, co powyżej, ale ustaw winemenubuilder.exe„rodzimy” zamiast „wyłącz”.

cscarney
źródło
W porządku. Dla mnie oznacza to, że tworzę prefiks, instaluję aplikację, ręcznie usuwam wszystkie domyślne powiązania wina i menu (chcę powiązania aplikacji), a następnie zmieniam klucz reg, aby zapobiec dodawaniu skojarzeń przy każdej aktualizacji Wine, dobrze?
mniess
4

Ponieważ jest to pierwszy hit w Google. Często zadawane pytania dotyczące wina zawiera teraz alternatywną metodę dla nowszych wersji wina.

„Począwszy od wine-3.14, winecfg ma pole wyboru„ Zarządzaj skojarzeniami plików ”na karcie Integracja pulpitu. Zaznaczenie tej opcji umożliwia tworzenie powiązań plików przez winemenbuilder, a odznaczenie tej opcji wyłącza to zachowanie.”

k0ol
źródło