Wine 1.5 %ProgramFiles% 错误

Wine 1.5 %ProgramFiles% 错误

我尝试使用 ppa 在 wine 1.5 上使用 winetricks 安装 d3dx9,但一直出现错误。我尝试过:

WINEARCH=win32 WINEPREFIX=~/.win32 winecfg 
sudo WINEARCH=win32 WINEPREFIX=~/.win32 winetricks

仍然会出现这个错误:

wine cmd.exe /c echo '%ProgramFiles%' returned empty string

如果我wine cmd.exe /c echo '%ProgramFiles%'在终端中输入C:\Program Files,路径似乎正确,但当我运行 winetricks 时却不正确。

我也尝试过注册表修复没有运气。

有任何想法吗?

答案1

我看到您在其中一个命令中使用了 sudo :这可能是主要问题,因为 sudo 不应该与或winetricks一起使用(仅在运行时);请参阅我的帖子末尾的评论。*winewinetrickssudo apt-get install wine

当我成功将 d3dx9 安装到单独的 wine 前缀时(我看到您也在使用该前缀),我在终端中使用了以下命令。

WINEPREFIX=$HOME/.myprefixname winetricks d3dx9

这是我使用以下命令获得的大量输出的一部分WINEPREFIX

Executing cabextract -q -d /home/mike/.myprefixname/dosdevices/c:/windows/system32 -L -F d3dx9*.dll /home/mike/.myprefixname/dosdevices/c:/windows/temp/_d3dx9/apr2006_d3dx9_30_x86.cab

您必须更改.myprefixname为您自己的前缀的名称;有关 Wine 前缀及其使用的更多解释,请参阅这个问题

您只需在创建前缀时指定WINEARCH=win32或 64 位等效项,因为之后无法更改,如上所述在 WineHQ. 如果您指定的值与创建时的值Wine不同,也将拒绝加载。WINEARCH

只需进入终端winetricks d3dx9即可将 directX 安装到您的默认~/.wine文件夹中。

*这是最重要的重要的请注意,使用winetricks或 安装时wine,您不需要使用 sudo,因为您不是将文件安装到系统中,而是安装到 Wine 文件夹或主文件夹中单独的 wine 前缀中。使用 sudo 可能会导致您遇到的路径问题,如实际链接给定。在葡萄酒常见问题它指出

使用 sudo 运行...还有一个额外的好处,就是在此过程中破坏了 ~/.wine 文件夹的权限。如果您使用 sudo 运行 Wine,则需要修复权限错误...然后运行 ​​winecfg 以再次设置 Wine。

因此,我还应该检查你的权限并参考葡萄酒常见问题文章中,因为即使重新安装,您也需要重置权限wine。如果您已使用 sudo 并且wine现在 root 拥有某些文件,则需要通过从葡萄酒常见问题

cd $HOME  
sudo chown -R $USER:$USER .wine 

.wine如果您使用了,请用您的前缀替换;或者,如果您同时拥有文件夹和前缀,WINEPREFIX请对该命令同时使用。.wine

答案2

我通过授予用户权限解决了这个问题:

YOURUSERNAME@nt401: ~ $ sudo chgrp -R YOURUSERNAME ~/.cache/winetricks/
YOURUSERNAME@nt401: ~ $ sudo chown -R YOURUSERNAME ~/.cache/winetricks/

希望这对其他人有帮助。

答案3

我遇到了类似的问题,我通过使用导出WINEARCH=win64而不是export WINEARCH=win32

这是因为您的主目录中的 .wine 目录是 64 位而不是 32 位。这就是为什么之后echo %ProgramFiles%会返回,因为它找不到适合 32 位架构的 .wine 目录。

相关内容