Executando o aplicativo .Net 4.0 com o Wine

17

Estou tentando executar um programa simples no Wine, no Ubuntu 14.04 LTS, no entanto, ele reclama que

fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.0" not implemented
fixme:mscoree:parse_probing privatePath=L"assemblies" not implemented
The entry point method could not be loaded

Tentar instalar manualmente o .Net 4.0 gera um erro no instalador, dizendo que o .Net 4.0 já está instalado.

Corrida winetricks forcemono

------------------------------------------------------
You are using a 64-bit WINEPREFIX. If you encounter problems, please retest in a
clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing w_do_call forcemono
Executing load_forcemono
Using native override for following DLLs: mscoree
Executing winetricks_early_wine regedit C:\windows\Temp\_forcemono\override-dll.reg
Using override for following DLLs: mscorsvw.exe
Executing winetricks_early_wine regedit C:\windows\Temp\_forcemono\override-dll.reg

Então, tentar iniciar o mesmo aplicativo novamente ainda falhará com

err:module:import_dll Library mscoree.dll (which is needed by L"Z:\\home\\<user>\\tmp\\saveedit_r237\\Gibbed.Borderlands2.SaveEdit.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\<user>\\tmp\\saveedit_r237\\Gibbed.Borderlands2.SaveEdit.exe" failed, status c0000135

Eu tentei o Wine 1.6 e 1.7.30 e ambos falham. O .Net 4.0 está realmente implementado? Ou parcialmente implementado? Existe uma maneira de fazer esse aplicativo .Net 4.0 funcionar?

Atualizar

O Winetricks reclama que dotnet40não pode ser instalado em um sistema de 64 bits. Então, como faço para instalá-lo?

Yanick Rochon
fonte
Você poderia adicionar detalhes de qual programa e para qual versão do Windows ele foi projetado?
Wilf
É Borderlands 2 salvar editor .
Yanick Rochon

Respostas:

27

Primeiramente, observe este aviso muito perceptível:

------------------------------------------------------
You are using a 64-bit WINEPREFIX. If you encounter problems, please retest in a
clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------

Isso indica que você precisa criar um Wineprefix de 32 bits , pois o Wine funciona melhor com coisas de 32 bits - isso pode ser feito simplesmente dizendo ao wine qual arquitetura usar antes de executar seus comandos (isso também pode ser feito desinstalando o Wine x86_64 e instalando Wine i386 / i686 - de qualquer forma, mantenha o terminal aberto para os outros comandos do wine depois de executar isso) :

export WINEARCH="win32"

Isso define as variáveis ​​de ambiente que o wine lê antes do lançamento (consulte man wine).

Também seria uma boa idéia fazê-lo criar seu próprio WINEPREFIX (onde a unidade virtual do Wine está armazenada). Por padrão ~/.wine, é isso , mas você pode criar individuais para cada arquitetura e programa - para criar um WINEPREFIX no diretório /home/USERNAME/.wine-PROGRAM-NAME/:

export WINEPREFIX=~/.wine-PROGRAM-NAME/

O diretório não precisa existir (idealmente, ele não deveria existir para que o material não precise ser substituído), mas os diretórios pai provavelmente deveriam - você também deve ter permissão para ler e gravar nele, e eu não pense que o wineprefix pode estar em uma unidade FAT / NTFS por razões técnicas (não funcionará) .

Então, para configurar um prefixo de 32 bits para um programa:

export WINEARCH="win32"
export WINEPREFIX=~/.wine-PROGRAM-NAME/
wineboot -u

Você pode substituir PROGRAM-NAMEpelo nome do programa para facilitar a identificação posterior do programa. Apenas certifique-se de incluir apenas a letra e os números, pois a pontuação geralmente possui uma função especial em vários shells de comando.

Você deve obter uma janela como esta:

o wineprefix está sendo atualizado ....

Então você está pronto para ir. Agora você pode instalar o NET 4.0 usando winetricks(convém obter a versão mais recente aqui primeiro):

winetricks dotnet40

export WINEPREFIX=...Ele deve estar no terminal após o comando ou colocando-o imediatamente antes do comando wine ( assim é útil para os lançadores de aplicativos em uma linha de comando) :

env WINEPREFIX=~/.wine-PROGRAM-NAME/" winetricks dotnet40

Você também pode querer usar winetrickspara instalar algumas outras coisas que pode precisar - fontes por exemplo (usando as opções corefonts, lucida, tahoma). Para listar as opções dos truques de win, use winetricks list-all.

Você pode instalar o programa usando wine "~/Downloads/PATH/TO/INSTALLER.exe". Mais uma vez (copiar o arquivo, em seguida, 'Colar nomes de arquivos' no terminal, por isso parece que '/home/wilf/Desktop/name spaces/installer.exe'não file:///home/wilf/Desktop/name spaces/installer.exe') .

Você deve garantir que o WINEPREFIX tenha sido exportado antes de executar este comando (especialmente se você fechou o terminal) ou na mesma linha. Depois de fazê-lo funcionar (ou não funcionar), você pode fazer um relatório sobre o quão bem ele funciona aqui (incluindo o que você fez etc, para poder ajudar outras pessoas). Se você tiver problemas e erros perceptíveis aparecerem na saída, poderá relatar um erro .

Uma vez instalado, o lançador do aplicativo deve aparecer no Dash / Menu e, às vezes, na área de trabalho. Caso contrário, no futuro, para executar o aplicativo, talvez seja necessário executá-lo com export WINEPREFIX=...e wine ....(ou env WINEPREFIX=... wine .....) novamente, a menos que você crie um iniciador (comente abaixo ou em algum lugar, se precisar saber como fazê-lo ....)


Mais informações, solução de problemas etc.

Como instalo o winetricks?

Você pode obter uma versão dos repositórios do Ubuntu usando este comando (ou instalando o Winetricks a partir do Centro de Software):

sudo apt-get install winetricks

Você pode usar winetricks OPTIONSpara fazer coisas.

Para a versão mais recente, você pode usar estes comandos para baixar e usar a versão mais recente:

wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks 

Observe que você terá que executá-lo como ./winetricks <OPTIONS>, a menos que o diretório esteja no shell $PATH.

Não quero usar o terminal, o que posso fazer?

O aplicativo que você deseja usar pode ser executável no PlayOnLinux (deve ser encontrado aqui ) - essa é praticamente toda a GUI e executa automaticamente a maioria das etapas para você.

Caso contrário, você pode usar o terminal para fazer isso muito facilmente (você geralmente tem muito mais controle do que se um programa de GUI é fazê-lo), basta ter cuidado que você colocou no (especialmente se ele inclui os comandos sudo, rmetc). Tente entender o que está acontecendo com cada comando primeiro.

Além disso, algumas dessas etapas podem ser executadas de outras maneiras - winecfge winetricksabrir GUIs através das quais você pode executar algumas etapas, mas novamente o que você pode fazer é limitado.

Como instalo a versão mais recente do Wine?

As versões mais recentes do wine estão mais atualizadas, portanto, é possível executar melhor o programa (a menos que haja uma regressão que o impacte). Para instalar a versão mais recente atual (Wine1.7), você pode usar o PPA oficial do Wine :

sudo apt-add-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.7

Se não conseguir encontrar o pacote wine1.7, tente executar o comando install novamente, mas com em winevez dewine1.7

Para instalar e configurar o Wine em geral, você também pode tentar esta pergunta .

O programa que quero usar foi desenvolvido para uma versão mais recente do Windows, o que posso fazer?

Por padrão, o Wine replica o Windows XP, que alguns programas não suportam como o EOL (o que eu suponho que seja útil, pois você provavelmente pode executar programas para o WinXP no Wine no Linux e você pode 'remover o WinXP da órbita' :)

De qualquer forma, primeiro abra a janela de configuração do Wine:

export WINEPREFIX=~/.wine-PROGRAM-NAME/
winecfg

Onde ~/.wine-PROGRAM-NAME/está o WINEPREFIX que você criou anteriormente.

E selecione a versão do Windows para replicar na parte inferior da guia 'Aplicativos'. Em seguida, tente instalar o aplicativo novamente.

VÍRUS DO WINDOWS SOB O VINHO?!?!

Muito possivelmente . Não instale software aleatório da internet, tente garantir que seja de um site confiável.

Wilf
fonte
2
Como não uso muito o Wine, imaginei que eu definiria WINEARCHmeu .bashrcscript diretamente, depois o enxugaria ~/.winecompletamente e prosseguiria winetricks dotnet40. Agora está funcionando. Obrigado!
Yanick Rochon