43 votes

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

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

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

59voto

K3---rnc Points 1116

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

  1. Supprimer les détournements de wine existants (de la FAQ de wine):

    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. Modifier /usr/share/wine/wine.inf (en tant que root), chercher la section [Services]:

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

    et le modifier pour qu'il dise:

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

    (c'est-à-dire démarrer winemenubuilder.exe sans l'option -a). Cela empêchera la mise à jour des associations de fichiers sur de nouveaux comptes utilisateurs (ou avec de nouveaux WINEPREFIX).

  3. Modifier votre fichier $WINEPREFIX/system.reg (s'il existe) de manière similaire. Là où il est écrit

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

    supprimez l'option -a. (Par défaut, WINEPREFIX=$HOME/.wine.)

Cela empêchera wine de voler vos préférences mimeapps, mais winemenubuilder continuera à s'exécuter et à créer des entrées de bureau pratiques pour vos logiciels Windoze.

18voto

Adam Haile Points 12576

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

Les utilisateurs qui ne veulent pas que l'installateur d'une application Windows modifie les associations de fichiers, ajoute des éléments de menu ou crée des liens sur le bureau peuvent désactiver winemenubuilder.exe. Il existe plusieurs façons de le faire :

  • Dans winecfg : avant d'exécuter l'installateur, lancez winecfg. Allez dans l'onglet Bibliothèques et tapez winemenubuilder.exe dans la zone "Nouveaux remplacements" (il n'apparaît pas dans la liste déroulante). Cliquez sur Ajouter, puis sélectionnez-le dans la zone "Remplacements existants". Cliquez sur "Éditer" et sélectionnez "Désactiver" dans la liste, puis cliquez sur "Appliquer".

  • Fichier de registre : Si vous avez besoin d'appliquer le paramètre plusieurs fois (par exemple, à chaque fois que vous recréez le préfixe Wine), cette approche peut être plus pratique. Créez un fichier texte portant l'extension .reg (par exemple, disable-winemenubuilder.reg) contenant ce qui suit :

    [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 l'installateur, par exemple,

    WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe

La désactivation de winemenubuilder.exe entraînera l'affichage d'erreurs dans les programmes Wine indiquant qu'ils ne peuvent pas le trouver (bien que ces erreurs ne semblent pas interférer avec le fonctionnement du programme).


Une approche alternative qui évite les erreurs consiste à le remplacer par un programme ne faisant rien. Compilez le code suivant avec gcc de MinGW sous wine et placez l'exécutable dans C:\Windows\System32\winemenubuilder.exe :

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

Puis suivez la même procédure que ci-dessus, mais définissez winemenubuilder.exe sur "natif" au lieu de "désactivé".

12voto

k0ol Points 121

Étant donné que ceci est la première mention sur Google. Le FAQ sur le vin répertorie maintenant une méthode alternative pour les nouvelles versions du vin.

À partir de wine-3.14, winecfg dispose d'une case à cocher "Gérer les associations de fichiers" dans l'onglet Intégration du Bureau. En la cochant, winemenbuilder est activé pour créer des associations de fichiers et en la décochant, ce comportement est désactivé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X