Wine이 /usr/share 대신 프로그램 파일에서 DLL을 찾도록 하려면 어떻게 해야 합니까?

Wine이 /usr/share 대신 프로그램 파일에서 DLL을 찾도록 하려면 어떻게 해야 합니까?

라는 프로그램을 실행하려고 합니다.허브 아래와인을 통해. 게임에서 .NET Desktop Runtime 5가 필요하다고 해서 다운로드했습니다.Windows 설치 프로그램그리고 그것을 설치했습니다. 그런데 실제 게임을 실행하면 다음과 같은 오류 메시지가 나타납니다.

메시지: 치명적인 오류가 발생했습니다. 필수 라이브러리인 hostfxr.dll이 [Z:\usr\share\dotnet\host\fxr\5.0.7]에 없습니다.

find . | grep hostfxr내 접두사에서 이것을 실행 하면 .wine여러 위치에서 올바른 DLL을 찾습니다.

./drive_c/Program Files/dotnet/host/fxr/5.0.7/hostfxr.dll
./drive_c/Program Files (x86)/dotnet/host/fxr/5.0.7/hostfxr.dll

내 DLL을 찾는 대신 게임에서 이러한 DLL을 찾으려면 어떻게 해야 합니까 /usr/share?

답변1

DLL을 .exe 위치에 복사하여 설치 프로그램이 작동하도록 할 수 있었습니다. 왜 이 작업을 수행해야 하는지 잘 모르겠지만 작동합니다.

cd ./path/to/game
cp ~/.wine/drive_c/Program\ Files/dotnet/host/fxr/5.0.7/hostfxr.dll .

답변2

예, 이것은 오래된 게시물이지만 6시간 후에 실제로 짜증날 정도로 간단한 해결책을 발견했습니다.

터미널을 통해 Wine을 실행할 때 "DOTNET_ROOT="를 추가하고 dotnet이 설치된 Windows 경로를 입력하기만 하면 됩니다. (기본값: C:\Program Files\dotnet)

전체 명령은 다음과 같습니다.

WINEPREFIX=/PATH/TO/PREFIX DOTNET_ROOT="C:\Program Files\dotnet" wine foo.exe

이것이 누군가에게 도움이 되기를 바랍니다!

관련 정보