Chạy ứng dụng .Net 4.0 với Wine


17

Tôi đang cố chạy một chương trình đơn giản trong Wine, trong Ubuntu 14.04 LTS, tuy nhiên nó phàn nàn rằng

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

Cố gắng cài đặt thủ công .Net 4.0 sẽ gây ra lỗi trong trình cài đặt, nói rằng .Net 4.0 đã được cài đặt.

Đang chạy 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

Sau đó, cố gắng bắt đầu lại cùng một ứng dụng sẽ vẫn thất bại với

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

Tôi đã thử Wine 1.6 và 1.7.30 và cả hai đều thất bại. .Net 4.0 có thực sự được triển khai không? Hoặc thực hiện một phần? Có cách nào để ứng dụng .Net 4.0 này hoạt động không?

Cập nhật

Winetricks phàn nàn rằng dotnet40không thể cài đặt trên hệ thống 64 bit. Vì vậy, làm thế nào để tôi cài đặt nó?


Bạn có thể thêm chi tiết về chương trình nào và phiên bản Windows được thiết kế cho không?
Wilf

Câu trả lời:


27

Trước tiên, hãy lưu ý cảnh báo rất đáng chú ý này:

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

Điều này cho thấy bạn cần tạo Wineprefix 32 bit , vì Wine hoạt động tốt hơn với công cụ 32 bit - điều này có thể được thực hiện đơn giản bằng cách chạy cho rượu biết kiến ​​trúc nào sẽ sử dụng trước khi chạy lệnh của nó (tôi cũng có thể thực hiện bằng cách gỡ cài đặt Wine x86_64 và cài đặt Wine i386 / i686 - dù sao đi nữa, hãy giữ thiết bị đầu cuối mở cho các lệnh rượu khác sau khi chạy này) :

export WINEARCH="win32"

Cái này đặt các biến môi trường mà rượu đọc trước khi nó khởi chạy (xem man wine).

Nó cũng là một ý tưởng tốt để làm cho nó tạo ra WINEPREFIX của riêng nó (nơi lưu trữ ổ đĩa ảo Wine). Theo mặc định, đây là ~/.wine, nhưng bạn có thể tạo từng cái riêng cho từng kiến ​​trúc & chương trình - vì vậy, để tạo một WINEPREFIX trong thư mục /home/USERNAME/.wine-PROGRAM-NAME/:

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

Thư mục không cần phải tồn tại (lý tưởng là nó không tồn tại để không bị ghi đè), nhưng các thư mục mẹ có lẽ nên - bạn cũng nên có quyền đọc và ghi vào nó, và tôi không nên nghĩ rằng Wineprefix có thể nằm trên ổ đĩa FAT / NTFS vì lý do kỹ thuật (nó không hoạt động) .

Vì vậy, để thiết lập tiền tố rượu 32 bit cho một chương trình:

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

Bạn có thể thay thế PROGRAM-NAMEbằng tên của chương trình để dễ xác định chương trình sau này. Chỉ cần đảm bảo rằng nó chỉ bao gồm chữ cái và số vì dấu chấm câu thường có chức năng đặc biệt trong các vỏ lệnh khác nhau.

Sau đó, bạn sẽ nhận được một cửa sổ như thế này:

Wineprefix đang được cập nhật ....

Sau đó, bạn đã sẵn sàng để đi. Bây giờ bạn có thể cài đặt NET 4.0 bằng cách sử dụng winetricks(trước tiên bạn có thể muốn có phiên bản mới nhất từ đây ):

winetricks dotnet40

Điều này nên ở trong thiết bị đầu cuối sau export WINEPREFIX=...lệnh hoặc bằng cách đặt nó ngay trước lệnh rượu như vậy (hữu ích cho các trình khởi chạy ứng dụng có một dòng lệnh) :

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

Bạn cũng có thể muốn sử dụng winetricksđể cài đặt một số công cụ khác, nó có thể cần - ví dụ như phông chữ (sử dụng các tùy chọn corefonts, lucida, tahoma). Để liệt kê các tùy chọn của winetricks, hãy sử dụng winetricks list-all.

Sau đó bạn có thể cài đặt chương trình bằng cách sử dụng wine "~/Downloads/PATH/TO/INSTALLER.exe". Một lần nữa (sao chép tệp, sau đó 'Dán tên tệp' vào thiết bị đầu cuối, vì vậy có vẻ như '/home/wilf/Desktop/name spaces/installer.exe'không file:///home/wilf/Desktop/name spaces/installer.exe') .

Bạn nên đảm bảo WINEPREFIX đã được xuất trước khi chạy lệnh này (đặc biệt nếu bạn đóng thiết bị đầu cuối) hoặc trong cùng một dòng. Sau khi làm cho nó hoạt động (hoặc không hoạt động), bạn có thể muốn làm một báo cáo về mức độ hoạt động của nó ở đây (bao gồm cả những gì bạn đã làm vv để bạn có thể giúp đỡ người khác). Nếu bạn gặp sự cố và các lỗi đáng chú ý xuất hiện trong đầu ra, bạn có thể báo cáo lỗi .

Sau khi cài đặt, nó sẽ làm cho trình khởi chạy của ứng dụng xuất hiện trên Dash / Menu và đôi khi trên Desktop. Nếu không, trong tương lai để chạy ứng dụng, bạn có thể cần chạy lại ứng dụng với export WINEPREFIX=...wine ....(hoặc env WINEPREFIX=... wine .....), trừ khi bạn tạo trình khởi chạy (nhận xét bên dưới hoặc ở đâu đó nếu bạn cần biết cách làm như vậy ....)


Thêm thông tin, xử lý sự cố vv

Làm cách nào để cài đặt winetricks?

Bạn có thể phiên bản từ kho lưu trữ Ubuntu bằng lệnh này (hoặc cài đặt Winetricks từ Trung tâm phần mềm):

sudo apt-get install winetricks

Sau đó bạn có thể sử dụng winetricks OPTIONSđể làm công cụ.

Đối với phiên bản mới nhất, bạn có thể sử dụng các lệnh này để tải xuống và sử dụng phiên bản mới nhất:

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

Lưu ý rằng bạn sẽ phải chạy nó ./winetricks <OPTIONS>, trừ khi thư mục của nó nằm trong shell $PATH.

Tôi không muốn sử dụng thiết bị đầu cuối, tôi có thể làm gì?

Ứng dụng bạn muốn sử dụng có thể chạy được trong PlayOnLinux (nên là nếu bạn có thể tìm thấy nó ở đây ) - đây là phần lớn tất cả GUI và tự động thực hiện hầu hết các bước cho bạn.

Nếu không, bạn có thể sử dụng thiết bị đầu cuối để làm điều đó rất dễ dàng (bạn thường có quyền kiểm soát nhiều hơn nếu một chương trình GUI được làm việc đó), hãy cảnh giác với những gì bạn đưa vào (đặc biệt là nếu nó bao gồm các lệnh sudo, rm, vv). Cố gắng hiểu những gì đang xảy ra với mỗi lệnh đầu tiên.

Ngoài ra, một số bước này có thể được thực hiện theo những cách khác - cả hai winecfgwinetricksmở GUI thông qua đó bạn có thể thực hiện một số bước, nhưng một lần nữa những gì bạn có thể làm bị hạn chế.

Làm cách nào để cài đặt phiên bản Wine mới nhất?

Các phiên bản rượu mới hơn được cập nhật hơn, do đó có thể chạy chương trình tốt hơn (trừ khi có hồi quy tác động đến nó). Để cài đặt phiên bản mới nhất hiện tại (Wine1.7), bạn có thể sử dụng PPA Wine chính thức :

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

Nếu nó không thể tìm thấy gói wine1.7, hãy thử chạy lại lệnh cài đặt nhưng winethay vìwine1.7

Để cài đặt và định cấu hình Wine nói chung, bạn cũng có thể thử câu hỏi này .

Chương trình tôi muốn sử dụng được thiết kế cho phiên bản Windows mới hơn, tôi có thể làm gì?

Wine theo mặc định sao chép Windows XP, một số chương trình không hỗ trợ vì nó là EOL (mà tôi cho là có ích vì bạn có thể chạy các chương trình cho WinXP trong Wine trong Linux và bạn có thể 'nuke WinXP từ quỹ đạo' :)

Dù sao, trước tiên hãy mở cửa sổ cấu hình Wine:

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

Đâu ~/.wine-PROGRAM-NAME/là WINEPREFIX mà bạn đã tạo trước đó.

Và chọn phiên bản Windows để sao chép ở cuối tab 'Ứng dụng'. Sau đó thử cài đặt lại ứng dụng.

WINDOWS VIRUSES THEO RƯỢU?!?!

Hoàn toàn có thể . Đừng cài đặt phần mềm ngẫu nhiên của internet, hãy cố gắng đảm bảo rằng nó là từ một trang web đáng tin cậy.


2
Vì tôi không sử dụng Wine nhiều, tôi nghĩ rằng tôi sẽ đặt trực tiếp WINEARCHvào .bashrckịch bản của mình , sau đó xóa sạch ~/.winehoàn toàn và tiếp tục winetricks dotnet40. Nó hoạt dộng bây giờ. Cảm ơn!
Yanick Rochon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.