Wine автоматически добавляет некоторые mimetypes и ассоциации файлов (например, notepad.exe для файлов .ini). Уже есть ответ , который объясняет, как удалить эти ассоциации.
Но как можно помешать Wine добавлять их снова и снова?
Отключение winemenubuilder.exe в целом предотвратит перехват файлов Wine, связанных с ассоциациями файлов, но также не позволит создавать пункты меню для вновь установленного программного обеспечения, что может быть нежелательным поведением. Лучшее решение заключается в следующем:
Удалить существующие угоны вина ( из FAQ по винам ):
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*
Редактировать /usr/share/wine/wine.inf
(от имени root) найдите раздел [Services]
:
[Services]
HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
...
и отредактируйте его так:
[Services]
HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -r"
...
(а именно, чтобы запустить winemenubuilder.exe
без -a
переключатель). Это предотвратит обновление ассоциаций файлов на новых учетных записях пользователей (или с новыми WINEPREFIX
es).
Отредактируйте файл $WINEPREFIX/system.reg
(если он существует) аналогичным образом. Там, где написано
[Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -a -r"
, удалите переключатель -a
. (По умолчанию WINEPREFIX=$HOME/.wine
.)
Это предотвратит кражу вином ваших любимых mimeapps, но winemenubuilder все равно будет работать и создавать удобные записи на рабочем столе для вашего программного обеспечения Windoze.
От http://wiki.winehq.org/FAQ :
Пользователи, которые не хотят, чтобы установщик для приложения Windows изменял ассоциации типов файлов, добавлял элементы меню или создавал ссылки на рабочем столе, можно отключить winemenubuilder.exe
. Есть несколько способов сделать это:
В winecfg : перед запуском установщика запустите winecfg
. Перейдите на вкладку «Библиотеки» и введите winemenubuilder.exe
в поле «Новые переопределения» (его нет в раскрывающемся списке). Нажмите «Добавить», затем выберите его в поле «Существующие переопределения». Нажмите «Изменить» и выберите «Отключить» из списка, затем нажмите «Применить».
Файл реестра: Если вам нужно применять настройку много раз (например, каждый раз, когда вы воссоздаете префикс Wine), этот подход может быть более удобным. Создайте текстовый файл с именем .reg (например, disable-winemenubuilder.reg
), содержащий следующее:
[HKEY_CURRENT_USER\Software\Wine\DllOverrides]
"winemenubuilder.exe"=""
Чтобы применить настройку, выполните regedit disable-winemenubuilder.reg
Переменная среды: задайте переменную среды WINEDLLOVERRIDES при запуске установщика, например,
WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
Отключение winemenubuilder.exe
приведет к тому, что программы Wine будут печатать ошибки, которые они не могу найти его (хотя ошибки, похоже, не мешают работе программы).
Альтернативный подход, позволяющий избежать ошибок, состоит в замене его программой «ничего не делать». Скомпилируйте следующее с gcc MinGW под wine и поместите исполняемый файл в C:\Windows\System32\winemenubuilder.exe
:
int main() { /* Do nothing */ return 0; }
Затем выполните ту же процедуру, что и выше, но установите winemenubuilder.exe
в «native» вместо «disable». [ 1123]
Так как это первый хит в Google. В Wine FAQ теперь перечислены альтернативные методы для более новых версий вина.
«Начиная с wine-3.14, у winecfg есть флажок« Управление сопоставлениями файлов »на вкладке« Интеграция с рабочим столом ». Проверка этого позволяет winemenbuilder создавать сопоставления файлов, а снятие флажка отключает это поведение.»