Menjalankan aplikasi .Net 4.0 dengan Wine

17

Saya mencoba untuk menjalankan program sederhana dalam Wine, di bawah Ubuntu 14,04 LTS, namun komplain itu

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

Mencoba menginstal secara manual. Net 4.0 menghasilkan kesalahan dalam installer, mengatakan bahwa. Net 4.0 sudah diinstal.

Lari 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

Kemudian mencoba memulai aplikasi yang sama lagi akan tetap gagal

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

Saya sudah mencoba Wine 1.6 dan 1.7.30 dan keduanya gagal. Apakah .Net 4.0 benar-benar diterapkan? Atau sebagian dilaksanakan? Apakah ada cara untuk membuat aplikasi .Net 4.0 ini berfungsi?

Memperbarui

Winetricks mengeluh bahwa dotnet40tidak dapat diinstal pada sistem 64-bit. Jadi, bagaimana saya menginstalnya?

Yanick Rochon
sumber
Bisakah Anda menambahkan detail program mana, dan untuk Windows versi apa ia dirancang?
Wilf
Ini editor penyimpanan Borderlands 2 .
Yanick Rochon

Jawaban:

27

Hal pertama yang pertama, perhatikan peringatan yang sangat mencolok ini:

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

Ini menunjukkan Anda perlu membuat Wineprefix 32bit , karena Wine berfungsi lebih baik dengan hal-hal 32bit - ini dapat dilakukan hanya dengan menjalankan memberitahu wine arsitektur apa yang harus digunakan sebelum menjalankan perintahnya (ini dapat saya pikir juga dapat dilakukan dengan menghapus Wine x86_64 dan menginstal Wine i386 / i686 - lagi pula, biarkan terminal terbuka untuk perintah wine lainnya setelah menjalankan ini) :

export WINEARCH="win32"

Ini mengatur variabel lingkungan yang dibaca oleh anggur sebelum diluncurkan (lihat man wine).

Ini juga akan menjadi ide yang baik untuk membuatnya untuk membuat WINEPREFIX sendiri (di mana drive virtual Wine disimpan). Secara default ~/.wine, tetapi Anda dapat membuat yang individual untuk setiap arsitektur & program - jadi untuk membuat WINEPREFIX dalam direktori /home/USERNAME/.wine-PROGRAM-NAME/:

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

Direktori tidak harus ada (idealnya seharusnya tidak ada sehingga hal-hal tidak harus ditimpa), tetapi direktori induk mungkin harus - Anda juga harus memiliki izin untuk membaca & menulis ke sana, dan saya tidak pikir wineprefix bisa pada drive FAT / NTFS karena alasan teknis (tidak akan berhasil) .

Jadi untuk mengatur awalan anggur 32bit untuk suatu program:

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

Anda dapat mengganti PROGRAM-NAMEdengan nama program untuk memudahkan mengidentifikasi program nanti. Pastikan itu hanya menyertakan huruf dan angka karena tanda baca sering memiliki fungsi khusus di berbagai shell perintah.

Anda kemudian harus mendapatkan jendela seperti ini:

wineprefix sedang diperbarui ....

Maka Anda siap untuk pergi. Sekarang Anda dapat menginstal NET 4.0 menggunakan winetricks(Anda mungkin ingin mendapatkan versi terbaru dari sini dulu):

winetricks dotnet40

Ini harus berada di terminal setelah export WINEPREFIX=...perintah, atau dengan menempatkannya tepat sebelum perintah anggur sebagai (berguna untuk peluncur aplikasi yang satu baris perintah) :

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

Anda juga mungkin ingin menggunakan winetricksmenginstal beberapa hal-hal lain mungkin perlu - misalnya font (menggunakan opsi corefonts, lucida, tahoma). Untuk daftar opsi winetricks, gunakan winetricks list-all.

Anda kemudian dapat menginstal program menggunakan wine "~/Downloads/PATH/TO/INSTALLER.exe". Sekali lagi (salin file, lalu 'Tempel Nama File' ke terminal, jadi sepertinya '/home/wilf/Desktop/name spaces/installer.exe'tidak file:///home/wilf/Desktop/name spaces/installer.exe') .

Anda harus memastikan WINEPREFIX telah diekspor sebelum menjalankan perintah ini (terutama jika Anda menutup terminal), atau di baris yang sama. Setelah berhasil (atau tidak berfungsi) Anda mungkin ingin membuat laporan tentang seberapa baik kerjanya di sini (termasuk apa yang Anda lakukan dll sehingga Anda dapat membantu orang lain). Jika Anda memiliki masalah, dan kesalahan yang terlihat muncul di output Anda dapat melaporkan bug .

Setelah diinstal, itu akan membuat peluncur aplikasi muncul di Dash / Menu dan kadang-kadang di Desktop. Kalau tidak di masa depan untuk menjalankan aplikasi Anda mungkin perlu menjalankan aplikasi dengan export WINEPREFIX=...dan wine ....(atau env WINEPREFIX=... wine .....) lagi, kecuali jika Anda membuat peluncur (komentar di bawah atau di suatu tempat jika Anda perlu tahu bagaimana melakukannya ....)


Info lebih lanjut, pemecahan masalah dll

Bagaimana cara menginstal winetricks?

Anda dapat versi dari repositori Ubuntu menggunakan perintah ini (atau menginstal Winetricks dari Pusat Perangkat Lunak):

sudo apt-get install winetricks

Anda kemudian dapat menggunakannya winetricks OPTIONSuntuk melakukan hal-hal.

Untuk versi terbaru, Anda dapat menggunakan perintah ini untuk mengunduh dan menggunakan versi terbaru:

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

Catatan Anda harus menjalankannya sebagai ./winetricks <OPTIONS>, kecuali direktori itu ada di shell $PATH.

Saya tidak ingin menggunakan terminal, apa yang bisa saya lakukan?

Aplikasi yang ingin Anda gunakan mungkin dapat dijalankan di bawah PlayOnLinux (seharusnya jika Anda dapat menemukannya di sini ) - ini hampir semua GUI dan secara otomatis melakukan sebagian besar langkah untuk Anda.

Jika tidak, Anda dapat menggunakan terminal untuk melakukannya dengan sangat mudah (Anda biasanya memiliki lebih banyak kontrol daripada jika program GUI melakukannya), hanya berhati-hati apa yang Anda masukkan ke dalam (terutama jika itu termasuk perintah sudo, rm, dll). Cobalah untuk memahami apa yang terjadi dengan setiap perintah terlebih dahulu.

Selain itu, beberapa langkah ini dapat dilakukan dengan cara lain - baik winecfgdan winetricksbuka GUI di mana Anda dapat melakukan beberapa langkah, tetapi sekali lagi apa yang dapat Anda lakukan terbatas.

Bagaimana cara menginstal versi Wine terbaru?

Versi anggur yang lebih baru lebih mutakhir, jadi mungkin dapat menjalankan program dengan lebih baik (kecuali ada regresi yang berdampak pada itu). Untuk menginstal versi terbaru saat ini (Wine1.7) Anda dapat menggunakan Wine PPA resmi :

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

Jika tidak dapat menemukan paket wine1.7, coba jalankan perintah install lagi tetapi dengan winealih - alihwine1.7

Untuk menginstal dan mengkonfigurasi Wine secara umum, Anda juga dapat mencoba pertanyaan ini .

Program yang ingin saya gunakan dirancang untuk versi Windows yang lebih baru, apa yang bisa saya lakukan?

Wine secara default mereplikasi Windows XP, yang tidak didukung oleh beberapa program karena EOL (yang saya anggap berguna karena Anda mungkin dapat menjalankan program untuk WinXP di bawah Wine di Linux, dan Anda dapat 'mengeluarkan WinXP dari orbit' :)

Bagaimanapun, pertama buka jendela konfigurasi Wine:

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

Di mana ~/.wine-PROGRAM-NAME/WINEPREFIX yang Anda buat sebelumnya.

Dan pilih versi Windows untuk direplikasi di bagian bawah tab 'Aplikasi'. Kemudian coba instal aplikasi lagi.

WINDOWS VIRUS DI BAWAH ANGGUR?!?!

Sangat mungkin . Jangan menginstal perangkat lunak acak dari internet, cobalah untuk memastikannya dari situs tepercaya.

Wilf
sumber
2
Karena saya tidak banyak menggunakan Wine, saya pikir saya akan mengatur skrip WINEARCHsaya .bashrcsecara langsung, lalu menghapus ~/.winesepenuhnya dan melanjutkan winetricks dotnet40. Ini berfungsi sekarang. Terima kasih!
Yanick Rochon