Ответы:
Отключение winemenubuilder.exe в целом предотвратит захват вином ваших файловых ассоциаций, но также не позволит создавать пункты меню для недавно установленного программного обеспечения, что может быть нежелательным поведением. Лучшее решение заключается в следующем:
Удалить существующие винные угоны ( из 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
).
Отредактируйте ваш $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
заставит винные программы печатать ошибки, которые они не могут найти (хотя эти ошибки, похоже, не мешают работе программы).
Альтернативный подход, который позволяет избежать ошибок, состоит в том, чтобы заменить его программой «ничего не делать». Скомпилируйте следующее с gcc MinGW под wine и поместите исполняемый файл в C:\Windows\System32\winemenubuilder.exe
:
int main() { /* Do nothing */ return 0; }
Затем выполните ту же процедуру, что и выше, но установите winemenubuilder.exe
«родной» вместо «отключить».
Так как это первый хит в гугле. В Wine FAQ теперь перечислены альтернативные методы для более новых версий вина.
«Начиная с wine-3.14, у winecfg есть флажок« Управление сопоставлениями файлов »на вкладке« Интеграция с рабочим столом ». Проверка этого позволяет winemenbuilder создавать сопоставления файлов, а снятие флажка отключает такое поведение».
/opt/wine-staging/share/wine/wine.inf
. Если файл находится в нестандартном месте, запустите,locate wine.inf
чтобы найти его.