Como evitar que o Wine adicione associações de arquivos?

31

O Wine adiciona automaticamente certos tipos de MIME e associações de arquivos (por exemplo, notepad.exe para arquivos .ini). Já existe uma resposta que explica como remover essas associações. / p>

Mas como se pode impedir que o Wine as adicione de novo e de novo?

    
por mniess 23.07.2013 / 16:51

2 respostas

42

Desabilitar completamente o winemenubuilder.exe evitará que o wine associe suas associações de arquivos, mas também evitará que ele crie entradas de menu para softwares recém-instalados, o que pode ser um comportamento indesejado. A melhor solução é esta:

  1. Remover os hijacks de vinho existentes ( da FAQ de vinhos ):

    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. Edite /usr/share/wine/wine.inf (como root), encontre a seção [Services] :

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

    e edite-o para que ele seja:

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

    (a saber, para iniciar winemenubuilder.exe sem a opção -a ). Isso impedirá a atualização de associações de arquivos em novas contas de usuário (ou com novos WINEPREFIX es).

  3. Edite seu arquivo $WINEPREFIX/system.reg (se existir) de maneira semelhante. Onde diz

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

    remova a opção -a . (Por padrão, WINEPREFIX=$HOME/.wine .)

Isso evitará que o vinho roube seus mimeapps preferidos, mas o construtor winemen ainda será executado e criará entradas convenientes na área de trabalho para o seu software Windoze.

    
por K3---rnc 05.01.2014 / 12:54
11

De Ссылка :

Os usuários que não desejam que o instalador de um aplicativo do Windows altere associações de tipo de arquivo, adicione itens de menu ou crie links para a área de trabalho, podem desativar winemenubuilder.exe . Existem várias maneiras de fazer isso:

  • No winecfg : antes de executar o instalador, execute winecfg . Vá para a guia Bibliotecas e digite winemenubuilder.exe na caixa "Novas substituições" (não está na lista suspensa). Clique em adicionar e selecione-o na caixa "Substituições existentes". Clique em "Editar" e selecione "Desativar" na lista e clique em "Aplicar".

  • Arquivo do registro: Se você precisar aplicar a configuração várias vezes (por exemplo, sempre que recriar o prefixo Wine), essa abordagem pode ser mais conveniente. Crie um arquivo de texto chamado com extensão .reg (por exemplo, disable-winemenubuilder.reg ) contendo o seguinte:

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

    Para aplicar a configuração, execute regedit disable-winemenubuilder.reg

  • Variável de ambiente: defina a variável de ambiente WINEDLLOVERRIDES ao executar o instalador, por exemplo,

    WINEDLLOVERRIDES=winemenubuilder.exe=d wine setup.exe
    

Desativar winemenubuilder.exe fará com que programas vitivinícolas imprimam erros que eles não possam encontrar (embora os erros não pareçam interferir na operação do programa).

Uma abordagem alternativa que evite os erros é substituí-lo pelo programa do-nothing. Compile o seguinte com o gcc do MinGW sob wine e coloque o executável em C:\Windows\System32\winemenubuilder.exe :

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

Em seguida, siga o mesmo procedimento acima, mas defina winemenubuilder.exe como "native" em vez de "disable".

    
por cscarney 26.07.2013 / 17:44