web-dev-qa-db-fra.com

Exécution d'une application .Net 4.0 avec Wine

J'essaie de lancer un programme simple dans Wine, sous Ubuntu 14.04 LTS, mais il se plaint 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

Essayer d'installer manuellement .Net 4.0 génère une erreur dans le programme d'installation, indiquant que .Net 4.0 est déjà installé.

Lancer 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

Ensuite, essayer de redémarrer la même application va toujours échouer avec

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

J'ai essayé Wine 1.6 et 1.7.30 et les deux échouent. Est-ce que .Net 4.0 est réellement implémenté? Ou partiellement mis en œuvre? Existe-t-il un moyen de faire fonctionner cette application .Net 4.0?

Mettre à jour

Winetricks se plaint que dotnet40 ne peut pas être installé sur un système 64 bits. Alors, comment puis-je l'installer?

16
Yanick Rochon

Tout d’abord, notez cet avertissement très perceptible:

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

Cela indique que vous devez créer un préfixe de vin 32 bits , étant donné que Wine fonctionne mieux avec les fichiers 32 bits - ceci peut être fait simplement en indiquant à wine quelle architecture utiliser avant d'exécuter ses commandes (cela peut, je pense, être aussi possible en désinstallant Wine x86_64 et en installant Wine i386/i686 - de toute façon, gardez le terminal ouvert pour les autres commandes de wine après l'avoir exécuté) :

export WINEARCH="win32"

Ceci définit les variables d'environnement lues par le vin avant son lancement (voir man wine ).

Ce serait également une bonne idée de le faire créer son propre WINEPREFIX (où le lecteur virtuel Wine est stocké). Par défaut, il s’agit de ~/.wine, mais vous pouvez en créer une pour chaque architecture et chaque programme. Pour créer un WINEPREFIX dans le répertoire /home/USERNAME/.wine-PROGRAM-NAME/:

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

Le répertoire ne doit pas nécessairement exister (idéalement, il ne devrait pas exister, les éléments ne doivent donc pas être écrasés), mais les répertoires parents devraient probablement - vous devez également avoir l'autorisation de lire et d'écrire dessus, et je ne le fais pas. pense que le préfixe de vin peut être sur un disque FAT/NTFS pour des raisons techniques (cela ne fonctionnera pas) .

Donc, pour configurer un préfixe de vin 32 bits pour un programme:

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

Vous pouvez remplacer PROGRAM-NAME par le nom du programme pour faciliter l'identification ultérieure du programme. Assurez-vous simplement qu’il n’inclut que la lettre et les chiffres, car la ponctuation a souvent une fonction spéciale dans les différents shells de commandement.

Vous devriez alors avoir une fenêtre comme celle-ci:

the wineprefix is being updated....

Alors vous êtes prêt à partir. Vous pouvez maintenant installer NET 4.0 à l’aide de winetricks(vous voudrez peut-être obtenir la dernière version de ici d’abord):

winetricks dotnet40

Cela devrait être dans le terminal après la commande export WINEPREFIX=..., ou en le plaçant juste avant la commande wine ainsi (utile pour les lanceurs d'applications qui utilisent une seule ligne de commande) :

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

Vous voudrez peut-être aussi utiliser winetrickspour installer d'autres éléments dont il pourrait avoir besoin, par exemple. polices (en utilisant les options corefontsname __, lucidaname __, tahomaname__). Pour lister les options de winetricks, utilisez winetricks list-all.

Vous pouvez ensuite installer le programme en utilisant wine "~/Downloads/PATH/TO/INSTALLER.exe". Encore une fois (copiez le fichier, puis "Coller les noms de fichiers" dans le terminal, de sorte qu'il ressemble à '/home/wilf/Desktop/name spaces/installer.exe' et non à file:///home/wilf/Desktop/name spaces/installer.exe') .

Vous devez vous assurer que WINEPREFIX a été exporté avant d'exécuter cette commande (surtout si vous avez fermé le terminal) ou sur la même ligne. Après l'avoir fait fonctionner (ou ne pas fonctionner), vous voudrez peut-être faire un rapport sur son fonctionnement ici (avec ce que vous avez fait, etc. afin que vous puissiez aider d'autres personnes). Si vous avez des problèmes et que des erreurs notables apparaissent dans le résultat, vous pouvez signaler un bogue .

Une fois installé, le lanceur de l'application devrait apparaître sur le tableau de bord/menu et parfois sur le bureau. Sinon, à l'avenir, pour exécuter l'application, vous devrez peut-être l'exécuter à nouveau avec export WINEPREFIX=... et wine .... (ou env WINEPREFIX=... wine .....), à moins que vous ne créiez un lanceur (commentaire ci-dessous ou ailleurs si vous avez besoin de savoir comment. pour le faire ....)


Plus d'infos, dépannage, etc.

Comment installer winetricks?

Vous pouvez utiliser une version des référentiels Ubuntu à l'aide de cette commande (ou l'installation de Winetricks à partir du Centre de logiciel):

Sudo apt-get install winetricks

Vous pouvez ensuite utiliser winetricks OPTIONS pour faire des choses.

Pour la dernière version, vous pouvez utiliser ces commandes pour télécharger et utiliser la dernière version:

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

Notez que vous devrez l'exécuter en tant que ./winetricks <OPTIONS>, à moins que son répertoire ne soit dans le shell $PATH .

Je ne veux pas utiliser de terminal, que puis-je faire?

L’application que vous voulez utiliser peut être lancée sous PlayOnLinux (cela devrait être si vous pouvez la trouver ici ) - c’est à peu près tout l’interface graphique qui effectue automatiquement la plupart des étapes. pour vous.

Sinon, vous pouvez utiliser le terminal pour le faire très facilement (vous avez généralement beaucoup plus de contrôle que si un programme graphique le fait), faites attention à ce que vous insérez (surtout s'il inclut les commandes Sudoname__, rmname__, etc.). Essayez de comprendre ce qui se passe avec chaque commande en premier.

En outre, certaines de ces étapes peuvent être effectuées de différentes manières: des interfaces graphiques ouvertes winecfget winetricksvous permettent de réaliser certaines étapes, mais là encore, ce que vous pouvez faire est limité.

Comment installer la dernière version de Wine?

Les versions de vin les plus récentes sont plus récentes et peuvent donc mieux exécuter le programme (à moins d’une régression qui l’affecte). Pour installer la dernière version actuelle (Wine1.7), vous pouvez utiliser le PPA officiel de Wine :

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

S'il ne parvient pas à trouver le package wine1.7, essayez de réexécuter la commande d'installation, mais avec wineau lieu de wine1.7.

Pour installer et configurer Wine généralement, vous pouvez également essayer cette question .

Le programme que je veux utiliser est conçu pour une version plus récente de Windows, que puis-je faire?

Wine reproduit par défaut Windows XP, ce que certains programmes ne prennent pas en charge car il s’agit de EOL (ce que je suppose très pratique car vous pouvez probablement exécuter des programmes pour WinXP sous Wine sous Linux, et vous pouvez "neutraliser WinXP d’orbite" :)

Quoi qu'il en soit, ouvrez d'abord la fenêtre de configuration de Wine:

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

~/.wine-PROGRAM-NAME/ est le WINEPREFIX que vous avez créé précédemment.

Et sélectionnez la version Windows à répliquer en bas de l'onglet "Applications". Ensuite, essayez d'installer l'application à nouveau.

FENÊTRES VIRUS SOUS VIN?!?!

Très probablement . N'installez pas de logiciel aléatoire sur Internet, essayez de vous assurer qu'il provient d'un site de confiance.

25
Wilf