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?
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?
Odpowiedzi:
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:
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*
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.exe
bez -a
przełącznika). Zapobiegnie to aktualizacji skojarzeń plików na nowych kontach użytkowników (lub nowych WINEPREFIX
es).
Edytuj swój $WINEPREFIX/system.reg
plik (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ń -a
przełą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.
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.exe
w 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.exe
spowoduje, ż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”.
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.”
/opt/wine-staging/share/wine/wine.inf
. Jeśli plik znajduje się w niestandardowej lokalizacji, uruchom go,locate wine.inf
aby go znaleźć.