web-dev-qa-db-ja.com

Wineで.Net 4.0アプリケーションを実行する

Ubuntu 14.04 LTSの下で、Wineで簡単なプログラムを実行しようとしていますが、

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

.Net 4.0を手動でインストールしようとすると、インストーラーで.Net 4.0が既にインストールされているというエラーが発生します。

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

その後、同じアプリケーションを再び起動しようとすると、stillで失敗します

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

Wine 1.6と1.7.30を試しましたが、どちらも失敗します。 .Net 4.0は実際に実装されていますか?または部分的に実装されていますか?この.Net 4.0アプリを機能させる方法はありますか?

更新

Winetricksは、dotnet40を64ビットシステムにインストールできないと文句を言います。それで、どうやってインストールしますか?

17
Yanick Rochon

まず最初に、この非常に顕著な警告に注意してください。

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

これは、 32ビットWineprefix を作成する必要があることを示します。これは、Wineが32ビットのものでよりうまく機能するためです。これは、コマンド(これはWine x86_64をアンインストールし、Wine i386/i686をインストールすることでも実行できると思います-とにかく、これを実行した後、他のワインコマンド用にターミナルを開いたままにしてください)

export WINEARCH="win32"

これにより、wineを起動する前にwineが読み込む環境変数が設定されます( man wine を参照)。

また、独自のWINEPREFIX(Wine仮想ドライブが格納されている場所)を作成することをお勧めします。デフォルトでは、これは~/.wineですが、アーキテクチャとプログラムごとに個別のものを作成できます-したがって、ディレクトリ/home/USERNAME/.wine-PROGRAM-NAME/にWINEPREFIXを作成するには:

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

ディレクトリは存在する必要はありません(理想的には存在しないため、内容を上書きする必要はありません)が、親ディレクトリはおそらく存在する必要があります-また、読み取りと書き込みのアクセス許可が必要です。 wineprefixは、技術的な理由でFAT/NTFSドライブに配置できると思います(動作しません)

したがって、プログラムの32ビットワインプレフィックスを設定するには:

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

PROGRAM-NAMEをプログラムの名前に置き換えて、後でプログラムを識別しやすくすることができます。多くの場合、句読点にはさまざまなコマンドシェルで特別な機能があるため、文字と数字のみを含めるようにしてください。

次のようなウィンドウが表示されます。

the wineprefix is being updated....

これで準備完了です。これで、winetricksを使用してNET 4.0をインストールできます(最初に here から最新バージョンを取得することもできます)。

winetricks dotnet40

これは、export WINEPREFIX=...コマンドの後に端末に配置するか、wineコマンドの直前に配置する必要があります(アプリランチャーに1コマンドライン)

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

また、winetricksを使用して、必要なものをインストールすることもできます。フォント(オプションcorefontslucidatahomaを使用)。 winetricksのオプションをリストするには、winetricks list-allを使用します。

その後、wine "~/Downloads/PATH/TO/INSTALLER.exe"を使用してプログラムをインストールできます。さらに、(ファイルをコピーし、「ファイル名を貼り付け」をターミナルに貼り付けます。したがって、'/home/wilf/Desktop/name spaces/installer.exe'ではなくfile:///home/wilf/Desktop/name spaces/installer.exe'のようになります)

このコマンドを実行する前に(特に端末を閉じた場合)、または同じ行でWINEPREFIXがエクスポートされていることを確認する必要があります。動作する(または動作しない)ようになったら、 here (他の人を助けることができるようにあなたがやったことなど)の動作に関するレポートを作成することができます。問題があり、出力に顕著なエラーが表示される場合は、 バグを報告できます

インストールすると、アプリのランチャーがダッシュ/メニューに表示され、場合によってはデスクトップに表示されるはずです。それ以外の場合、今後アプリを実行するには、ランチャーを作成しない限り、export WINEPREFIX=...およびwine ....(またはenv WINEPREFIX=... wine .....)を使用してアプリを再度実行する必要があります。そうするために....)


詳細、トラブルシューティングなど

Winetricksのインストール方法は?

このコマンドを使用して(またはソフトウェアセンターからWinetricksをインストールして)Ubuntuリポジトリからバージョンを作成できます。

Sudo apt-get install winetricks

その後、winetricks OPTIONSを使用して作業を行うことができます。

最新バージョンでは、次のコマンドを使用して最新バージョンをダウンロードして使用できます。

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

ディレクトリがシェルの ./winetricks <OPTIONS> にない限り、$PATHとして実行する必要があることに注意してください。

端末を使いたくないのですが、どうすればいいですか?

使用したいアプリは PlayOnLinux の下で実行可能かもしれません( here で見つけることができればそうです)-これでほとんどすべてですGUIにより、ほとんどの手順が自動的に実行されます。

それ以外の場合、ターミナルを使用して非常に簡単に実行できます(通常、GUIプログラムで実行している場合よりもはるかに多くの制御が可能です)。何を入力するかに注意してください(特にコマンドSudormなどが含まれている場合)。最初に各コマンドで何が起こっているのかを理解してください。

また、これらの手順の一部は他の方法で実行できます。winecfgwinetricksの両方が、いくつかの手順を実行できるGUIを開きますが、実行できることは限られています。

最新のWineバージョンをインストールするにはどうすればよいですか?

新しいバージョンのワインは最新のものであるため、プログラムをより適切に実行できる可能性があります(それに影響する回帰がない限り)。現在の最新バージョン(Wine1.7)をインストールするには、 公式のWine PPA を使用できます。

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

パッケージwine1.7が見つからない場合は、wine1.7の代わりにwineを使用してインストールコマンドを再度実行してください。

Wineの一般的なインストールと設定については、 this question を試すこともできます。

使用したいプログラムは、新しいバージョンのWindows用に設計されていますが、何ができますか?

WineはデフォルトでWindows XPを複製します。一部のプログラムはEOLなのでサポートしていません(おそらくLinuxでWineの下でWinXPのプログラムを実行でき、「軌道からWinXPを消す」ことができるので便利です)。

とにかく、最初にWine設定ウィンドウを開きます:

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

~/.wine-PROGRAM-NAME/は、前に作成したWINEPREFIXです。

[アプリケーション]タブの下部で、複製するWindowsバージョンを選択します。その後、アプリをもう一度インストールしてください。

WINDOWS VIRUSES UN WINE?!?!

かなり可能性があります 。インターネットのランダムなソフトウェアをインストールせず、信頼できるサイトからのものであることを確認してください。

26
Wilf