Wine 1.5% ProgramFiles% ошибка

Я пытаюсь установить 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 .

Есть идеи?

4
задан 28 November 2012 в 13:53

3 ответа

У меня была похожая проблема, я исправил ее, используя export WINEARCH=win64 вместо export WINEARCH=win32

. Это потому, что каталог .wine в вашем домашнем каталоге 64-битный, а не 32. Вот почему после того, как echo %ProgramFiles% возвращается, поскольку он не может найти каталог .wine для 32-битной арки.

0
ответ дан 28 November 2012 в 13:53

Я решил эту проблему, предоставив свои права пользователя:

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

надеюсь, что это поможет кому-то еще.

0
ответ дан 28 November 2012 в 13:53

Я вижу, вы используете 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 и вашего префикса, если у вас есть оба.

0
ответ дан 28 November 2012 в 13:53

Другие вопросы по тегам:

Похожие вопросы: