Como faço para substituir uma dll (sem usar o winecfg gui) no WINE?

2

Eu quebrei algo no meu winecfg. Assim, não rodará mais nenhum aplicativo do Windows em vinho. (Eu não posso me permitir comprar e reinstalar).

Como faço para substituir uma dll usando a linha de comando. Eu desabilitei rpcrt4.dll por acidente e quero desfazer isso.

Ao iniciar o winecfg ou qualquer aplicativo do Windows como o MS Word, o Wine imprime esta mensagem de erro:

err:module:import_dll Library rpcrt4.dll (which is needed by L"C:\windows\system32\explorer.exe") not found
    
por nvidia-96needed 12.02.2013 / 07:43

1 resposta

2

Primeiramente, tente usar winetricks na linha de comando para reverter apenas as configurações de winecfg dll para os padrões com:

winetricks alldlls=default

Se isso não resolver o problema, você poderá usar WINEDELOVERRIDES; é uma variável de ambiente que pode ser usada com wine para especificar as substituições de dll que você deseja (ou não requer). Conforme indicado na página de manual , WINEDLLLLOVERRIDES

  

Define o tipo de substituição e a ordem de carregamento das dlls usadas no processo de carregamento de qualquer dll. Existem atualmente dois tipos de bibliotecas que podem ser carregadas no espaço de endereço de um processo: dlls de janelas nativas                 (nativo), vinho interno dlls (builtin). O tipo pode ser abreviado com a primeira letra do tipo (n,                 b). A biblioteca também pode ser desativada (''). Cada sequência de pedidos deve ser separada por vírgulas.

Você pode exportar a variável de ambiente ou usar env e especificar a variável a ser usada com o comando wine (se você não especificar um WINEPREFIX, ele usará o padrão):

env WINEDLLOVERRIDES="rpcrt4=b,n" wine exe_to_run

Isto irá especificar que a versão embutida deve ser tentada, então a versão nativa. Se você usar "rpcrt4=" , a dll permanecerá desativada e wine não será executado.

Se você quiser exportar o valor para o shell dessa sessão, poderá executar

export WINEDLLOVERRIDES="rpcrt4=b,n" 

Isso não afetará as configurações em winecfg e elas permanecerão as mesmas. Essa variável de ambiente e muitas outras úteis disponíveis com wine são apenas temporárias e afetam apenas o shell no qual são usadas, seja exportando a variável ou usando env a cada vez para declarar a variável e, em seguida, executar wine com essa variável ao iniciar seu programa. Você também pode especificar variáveis ambientais em um script bash que iniciou seus programas wine .

Para mais informações, consulte man wine , as páginas de manual do Ubuntu on-line e a FAQ sobre vinhos úteis .

    
por user76204 10.04.2013 / 18:10