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

31

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. / p>

Mais comment empêcher que Wine les ajoute encore et encore?

    
posée mniess 23.07.2013 - 16:51
la source

2 réponses

42

La désactivation totale de winemenubuilder.exe empêchera Wine de pirater vos associations de fichiers, mais l'empêchera également de créer des entrées de menu pour les logiciels nouvellement installés, ce qui peut avoir un comportement indésirable. La meilleure solution est la suivante:

  1. Supprimez les détournements de vin existants ( FAQ sur le vin ):

    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. Modifiez /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 modifiez-le pour qu'il indique:

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

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

  3. Modifiez 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 mimeapps préférés, mais le winemenubuilder continuera à exécuter et créera des entrées de bureau pratiques pour votre logiciel Windoze.

    
réponse donnée K3---rnc 05.01.2014 - 12:54
la source
12

De lien :

Les utilisateurs qui ne souhaitent pas que le programme d'installation d'une application Windows modifie les associations de types de fichiers, ajoutent des éléments de menu ou créent des liens entre postes de travail peuvent désactiver winemenubuilder.exe . Il y a plusieurs façons de faire cela:

  • Dans winecfg : avant d'exécuter le programme d'installation, exécutez winecfg . Accédez à l'onglet Bibliothèques et tapez winemenubuilder.exe dans la zone "Nouveaux remplacements" (il ne figure pas dans la liste déroulante). Cliquez sur Ajouter, puis sélectionnez-le dans la case "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 nommé avec 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
    

La désactivation de winemenubuilder.exe provoquera l’impression de programmes par les programmes wine qu’ils ne pourront pas trouver (bien que les erreurs ne semblent pas interférer avec le fonctionnement du programme).

Une autre approche qui évite les erreurs consiste à la remplacer par le programme do-nothing. Compilez les éléments suivants avec le 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".

    
réponse donnée cscarney 26.07.2013 - 17:44
la source

Lire d'autres questions sur les étiquettes