web-dev-qa-db-fra.com

Comment empêcher Wine d'ajouter des associations de fichiers?

Wine ajoute automatiquement certains types de MIME et associations de fichiers (par exemple, notepad.exe pour les fichiers .ini). Il existe déjà un réponse qui explique comment supprimer ces associations.

Mais comment empêcher Wine de les ajouter encore et encore?

35
mniess

Désactiver complètement winemenubuilder.exe empêchera Wine de détourner vos associations de fichiers, mais également de créer des entrées de menu pour les logiciels nouvellement installés, ce qui peut constituer un comportement indésirable. La meilleure solution est la suivante:

  1. Supprimer les détournements de vin existants ( de 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* 
    
  2. Editez /usr/share/wine/wine.inf (en tant que root), recherchez la section [Services]:

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

    et éditez le pour qu'il soit écrit:

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

    (à savoir, démarrer winemenubuilder.exe sans le commutateur -a). Cela empêchera la mise à jour des associations de fichiers sur les nouveaux comptes d'utilisateurs (ou avec les nouveaux WINEPREFIXname__es).

  3. Editez votre fichier $WINEPREFIX/system.reg (s’il existe) de la même manière. Où il est dit

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

    supprimez le commutateur -a. (Par défaut, WINEPREFIX=$HOME/.wine.)

Cela empêchera Wine de voler vos applications préférées, mais winemenubuilder sera toujours exécuté et créera des entrées de bureau pratiques pour votre logiciel Windoze.

47
K3---rnc

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

Les utilisateurs qui ne souhaitent pas que le programme d'installation d'une application Windows modifie les associations de types de fichiers, ajoute des éléments de menu ou créent des liens de bureau, peuvent désactiver winemenubuilder.exe. Il y a plusieurs moyens de le faire:

  • Dans winecfg : avant d'exécuter le programme d'installation, exécutez winecfg. Allez dans l'onglet Bibliothèques et tapez winemenubuilder.exe dans la case "Nouveaux remplacements" (cela ne se trouve pas dans la liste déroulante). Cliquez sur Ajouter, puis sélectionnez-le dans la zone "Remplacements existants". Cliquez sur "Modifier" et sélectionnez "Désactiver" dans la liste, puis cliquez sur "Appliquer".

  • Fichier de registre: Si vous devez appliquer le paramètre plusieurs fois (par exemple à chaque fois que vous recréez le préfixe Wine), cette approche peut s'avérer plus pratique. Créez un fichier texte portant l'extension .reg (par exemple, disable-winemenubuilder.reg) contenant les éléments suivants:

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

    Pour appliquer le paramètre, exécutez regedit disable-winemenubuilder.reg

  • Variable d'environnement: définissez la variable d'environnement WINEDLLOVERRIDES lorsque vous exécutez le programme d'installation, par exemple,

    WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
    

Si vous désactivez winemenubuilder.exe, les programmes Wine impriment des erreurs qu’ils ne peuvent pas trouver (bien que ces erreurs ne semblent pas gêner le fonctionnement du programme).


Une approche alternative qui évite les erreurs consiste à le remplacer par le programme ne rien faire. Compilez ce qui suit avec le fichier gcc de MinGW sous wine et placez l’exécutable à C:\Windows\System32\winemenubuilder.exe:

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

Suivez ensuite la même procédure que ci-dessus, mais définissez winemenubuilder.exe sur "native" au lieu de "disable".

13
cscarney

Depuis c'est le premier coup sur Google. Wine FAQ répertorie maintenant une méthode alternative pour les nouvelles versions de wine.

"À compter de la version 3.14 de wine, winecfg dispose d'une case à cocher" Gérer les associations de fichiers "dans l'onglet Intégration au bureau. Le fait de l'activer permet à winemenbuilder de créer des associations de fichiers et de le décocher désactive ce comportement."

4
k0ol