¿Cómo evitar que Wine agregue asociaciones de archivos?


35

Wine agrega automáticamente ciertos tipos mime y asociaciones de archivos (por ejemplo, notepad.exe para archivos .ini). Ya hay una respuesta que explica cómo eliminar estas asociaciones.

Pero, ¿cómo se puede evitar que Wine los agregue una y otra vez?

Respuestas:


47

Deshabilitar winemenubuilder.exe por completo evitará que wine secuestre sus asociaciones de archivos, pero también evitará que cree entradas de menú para el software recién instalado, lo que puede ser un comportamiento no deseado. La mejor solución es esta:

  1. Elimine los secuestros de vino existentes ( de Preguntas frecuentes sobre vinos ):

    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. Editar /usr/share/wine/wine.inf(como root), encuentre la [Services]sección:

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

    y editarlo para que diga:

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

    (es decir, comenzar winemenubuilder.exesin el -ainterruptor). Esto evitará actualizar las asociaciones de archivos en nuevas cuentas de usuario (o con nuevos WINEPREFIXes).

  3. Edite su $WINEPREFIX/system.regarchivo (si existe) de manera similar. En donde dice

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

    Quitar el -ainterruptor. (Por defecto,. WINEPREFIX=$HOME/.wine)

Esto evitará que wine robe tus mimeapps preferidas, pero winemenubuilder seguirá ejecutándose y creará entradas de escritorio convenientes para tu software Windoze.


1
Para mí el camino era más bien /opt/wine-staging/share/wine/wine.inf. Si el archivo está en una ubicación no estándar, ejecute locate wine.infpara encontrarlo.
Hi-Angel

13

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

Los usuarios que no desean que el instalador de una aplicación de Windows cambie las asociaciones de tipo de archivo, agregue elementos de menú o cree enlaces de escritorio, puede deshabilitarlo winemenubuilder.exe. Hay varias formas de hacerlo:

  • En winecfg : antes de ejecutar el instalador, ejecute winecfg. Vaya a la pestaña Bibliotecas y escriba winemenubuilder.exeen el cuadro "Nuevas anulaciones" (no está en la lista desplegable). Haga clic en Agregar, luego selecciónelo en el cuadro "Anulaciones existentes". Haga clic en "Editar" y seleccione "Desactivar" de la lista, luego haga clic en "Aplicar".

  • Archivo de registro: si necesita aplicar la configuración muchas veces (por ejemplo, cada vez que recrea el prefijo Wine), este enfoque puede ser más conveniente. Cree un archivo de texto con la extensión .reg (por ejemplo, disable-winemenubuilder.reg) que contenga lo siguiente:

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

    Para aplicar la configuración, ejecute regedit disable-winemenubuilder.reg

  • Variable de entorno: establezca la variable de entorno WINEDLLOVERRIDES cuando ejecute el instalador, por ejemplo,

    WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
    

La desactivación winemenubuilder.exehará que los programas de Wine impriman errores que no pueden encontrar (aunque los errores no parecen interferir con la operación del programa).


Un enfoque alternativo que evita los errores es reemplazarlo con el programa de no hacer nada. Compile lo siguiente con gcc de MinGW en wine y coloque el ejecutable en C:\Windows\System32\winemenubuilder.exe:

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

Luego siga el mismo procedimiento que el anterior, pero configúrelo winemenubuilder.exeen "nativo" en lugar de "deshabilitar".


Bueno. Entonces, para mí eso significa que creo el prefijo, instalo mi aplicación, elimino todas las asociaciones y menús predeterminados de Wine a mano (quiero las asociaciones de aplicaciones) y luego cambio la clave reg para evitar que las asociaciones se vuelvan a agregar cada vez que Wine se actualiza, ¿Derecha?
mniess

4

Dado que este es el primer éxito en Google. Las Preguntas frecuentes sobre vinos ahora enumeran un método alternativo para las versiones más nuevas de vinos.

"Comenzando con wine-3.14, winecfg tiene una casilla de verificación" Administrar asociaciones de archivos "en la pestaña Integración de escritorio. Al marcarlo, winemenbuilder puede crear asociaciones de archivos y desmarcarlo desactiva ese comportamiento".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.