web-dev-qa-db-ja.com

Wine 1.5%ProgramFiles%エラー

P3から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を実行したときではなくパスが正しいように見えます。

私もこれを試しました regedit fix 運がありません。

何か案は?

4
elclanrs

winetricksコマンドの1つでSudoを使用していることがわかります。SudoをwineまたはwinetricksSudo apt-get install wineを実行している場合のみ)と一緒に使用しないでください。投稿の最後にコメントを参照してください。*

D3dx9を別のワインプレフィックスに正常にインストールしたときに、これも使用していることがわかります。ターミナルで次のコマンドを使用しました。

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フォルダーにインストールされます。

*ほとんどのimportantは、winetricksを使用してインストールする場合、またはwineを使用する場合、使用する必要がないことに注意してください。ファイルをシステムにインストールするのではなく、Wineフォルダーまたはホームフォルダーの個別のワインプレフィックスにインストールするため、sudo。 実際のリンク に記載されているように、Sudoを使用すると、パスで発生する問題が発生する可能性があります。 WineFAQ では、

Sudoを使用して実行すると、プロセスの〜/ .wineフォルダーのアクセス許可に違反するというボーナスが追加されます。 WineをSudoで実行している場合は、許可エラーを修正してから、winecfgを実行してWineを再度セットアップする必要があります。

したがって、wineを再インストールした場合でも権限をリセットする必要があるため、権限も確認して WineFAQ の記事を参照する必要があります。 wineでSudoを使用し、rootがいくつかのファイルを所有している場合、 WineFAQ から次のコマンドを実行してアクセス許可を変更する必要があります。

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

WINEPREFIXを使用する場合は.wineをプレフィックスに置き換えます。両方がある場合は、.wineフォルダーとプレフィックスの両方にコマンドを使用します。

6
user76204

同様の問題がありました。WINEARCH=win64の代わりにexport export WINEARCH=win32を使用して修正しました

これは、ホームディレクトリにある.wineディレクトリが32ではなく64ビットであるためです。32ビットArchの.wineディレクトリが見つからないため、echo %ProgramFiles%が返されるのはそのためです。

0
Arunkumar

ユーザー権限を与えてこの問題を解決しました:

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

これが誰かの助けになることを願っています。

0
sandino