如何防止Wine添加文件关联?

Wine会自动添加某些mimetypes和文件关联(例如,.ini文件的notepad.exe)。 已经有一个答案解释了如何删除这些关联。

但是如何防止Wine一次又一次地添加呢?

完全禁用winemenubuilder.exe将阻止wine劫持您的文件关联,但它也会阻止它为新安装的软件创建菜单条目,这可能是一种不受欢迎的行为。 更好的解决方案是:

  1. 删除现有的葡萄酒劫持( 来自葡萄酒常见问题解答 ):

    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. 编辑/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" ... 

    (即,在没有-a开关的情况下启动winemenubuilder.exe )。 这将阻止更新新用户帐户(或新的WINEPREFIX es)上的文件关联。

  3. 以类似的方式编辑$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 。 转到Libraries选项卡, winemenubuilder.exe在“New overrides”框中键入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程序打印无法找到的错误(尽管错误似乎不会干扰程序操作)。


避免错误的另一种方法是用无操作程序替换它。 使用MinGW的wine下的gcc编译以下内容,并将可执行文件放在C:\Windows\System32\winemenubuilder.exe

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

然后按照与上面相同的步骤,但将winemenubuilder.exe设置为“native”而不是“disable”。

因为这是谷歌的第一次热播。 Wine FAQ现在列出了新版葡萄酒的替代方法。

“从wine-3.14开始,winecfg在桌面集成选项卡上有一个”管理文件关联“复选框。选中它可以让winemenbuilder创建文件关联并取消选中它会禁用该行为。”