Я пытаюсь установить d3dx9 с winetricks на wine 1.5 из ppa и продолжаю получать сообщение об ошибке. Я попытался:
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.
Я также безуспешно пытался исправить это regedit .
Есть идеи?
У меня была похожая проблема, я исправил ее, используя export WINEARCH=win64
вместо export WINEARCH=win32
. Это потому, что каталог .wine в вашем домашнем каталоге 64-битный, а не 32. Вот почему после того, как echo %ProgramFiles%
возвращается, поскольку он не может найти каталог .wine для 32-битной арки.
Я решил эту проблему, предоставив свои права пользователя:
YOURUSERNAME@nt401: ~ $ sudo chgrp -R YOURUSERNAME ~/.cache/winetricks/
YOURUSERNAME@nt401: ~ $ sudo chown -R YOURUSERNAME ~/.cache/winetricks/
надеюсь, что это поможет кому-то еще.
Я вижу, вы используете sudo в одной из ваших winetricks
команд: это может быть основной проблемой, поскольку sudo не следует использовать с wine
или winetricks
(только при запуске sudo 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
на имя своего собственного префикса; для более подробного объяснения винных приставок и их использования, пожалуйста, смотрите этот вопрос .
Вам нужно только указать WINEARCH=win32
или 64-битный эквивалент при создании префикса, поскольку впоследствии его нельзя изменить, как отмечено в WineHQ . Wine
также откажется от загрузки, если вы укажете WINEARCH
отличный от того, с которым вы его создали.
Если вы просто введете в терминал winetricks d3dx9
, вместо этого будет установлен DirectX в папку по умолчанию ~/.wine
.
* Наиболее важно отметить, что при установке вещей с winetricks
или с помощью wine
вам не нужно использовать sudo, так как вы не устанавливаете файлы в система, но в вашу папку Wine или отдельный префикс wine в вашей домашней папке. Использование sudo может вызвать проблему, которую вы испытываете с путями, как отмечено в приведенной фактической ссылке . В WineFAQ отмечается, что
Запуск с помощью sudo ... имеет дополнительный бонус, заключающийся в нарушении прав доступа к вашей папке ~ / .wine. Если вы запустили Wine с помощью sudo, вам нужно исправить ошибки прав доступа ... и затем запустить winecfg, чтобы снова установить Wine.
Итак, я также должен проверить ваши разрешения и обратиться к статье WineFAQ , так как вам нужно будет сбросить свои разрешения, даже если вы переустановите wine
. Если вы использовали sudo с wine
и теперь root владеет некоторыми файлами, вам необходимо изменить разрешения, выполнив следующие команды из WineFAQ :
cd $HOME
sudo chown -R $USER:$USER .wine
Заменить .wine
с вашим префиксом, если вы используете WINEPREFIX
или команду для вашей папки .wine
и вашего префикса, если у вас есть оба.