• ベストアンサー

DirectXの更新・削除についてアドバイスを下さい

パソコンでゲームをしようと思っています。 随分昔に、あるゲームをしたのですが、当時DirectX(ver5.03?)がバグったので、そのまま放っていました。 そして今、今度はまた別のゲームをしようとDirectXを更新してみたのですが・・・うまくいきません。 画面上は「完了しました」と出るのですが、新しいDirectX(v9.0)はアプリケーション一覧にも出ないし、PCにもdxdiagのファイルが作成されません。 仕方がないのでリスクはありますが、バックアップを取った後に、削除ツールを使ってDirectXを削除しようと考えています(OS=WindowsXPの再インストールは面倒なので・・)。 手順としては、 1.削除ツールで基本コンポーネントを削除 2.Ver5のDXInfoに載っていたファイルのうち、削除しきれなかったものを、手動で削除する 3.目的のDirectX(Ver7.0)をインストール という感じでいいのでしょうか? 不安なので、質問してみました。 ちなみにVer7.0を入れるのは、DirectX9.0の上位互換性に疑問があるからです(マイクロソフトも結構ひどいようですから・・・)。 参考までに、DXInfoの一部を載せると、 -------------- DirectX Components  DirectX Version(Registry):5.03.2600.2180   DDRAW.DLL:5.03.2600.2180 ~略~   DDHELP.EXE:File is missing   ・・・ : (中略) DirectX Drivers   FRAMEBUF.DLL:5.01.2600.2180   TSD32.DLL:1.03.03.0007 -------------- ↑「File is missing」のファイルが18個もあります。 削除ツールはDirectX Busterを使う予定です。 DirectX Eradicator2.0の方は、WindowsXP SP2を使っていると、駄目なようです(サポート外)。 (http://unimatrix0.t35.com/htdocs/dxefaq.html の4番目のQ参照) 詳細は以上です。 私が取ろうとしている方法について、詳しい方、経験者の方、アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • parts
  • ベストアンサー率62% (6364/10149)
回答No.2

DirectXはアプリケーションではありませんが・・・WindowsXPに7,0を入れるとまず正常に動かないアプリケーションが大量に出てきますよ。OS側統合の機能もまともに動かなくなる。 WindowsXPは標準で8,x以上を総合APIとして導入しています。 さて、質問の内容からするとあまりDirectXのバージョン付けをご存じないようです。それが誤解を招いているのではないかな?ちょっと説明すると、 DirectXはWinGというゲーム用コンポーネントからWindows95でDirectX5として生まれ変わった物で、このときに総合APIとして複数のAPIを統合しました。製品としては既に10年ぐらい使われていますが、バージョンアップはそれほど頻回に行われていないことが分かると思います。 現在は2D/3Dグラフィックス(DirectDraw/Direct3Dを統合したDirectGraphics)、サウンド/シンセサイザ(DirectSound/DirectMusicを統合したDirectAudio)、入力デバイス(DirectInput)、ネットワーク通信(DirectPlay)、マルチメディア(DirectShow)などの技術APIを合わせてDirectXと呼び、更新はこれら全てを一括して行い。機能強化がこれらのどこかであれば後ろの数字や符号を1つ上げるのです。要は、DirectX8→9もしくはDirectX9,0b→9,0cというように呼び名が変わります。 ただし、新しいバージョンでもDirectGraphicsのみにしか大幅な更新がなければ、他のコンポーネントのバージョンは据え置かれることになります。 これは、現在DirectXAPIがゲームに限らずオフィスソフトや画像ソフト、映像再生ソフトに至る複数のアプリケーションで当たり前に使われているためです。ここでバージョンを落としたり削除するときっと多くのソフトに支障が出るでしょう。 そのため、DirectXのバージョン=コンポーネントのバージョンではありません。さらにいえば、最初のバージョン数字が9から始まるDirectXコンポーネントはきっとないでしょう。最新のDirectX9,0cの正規バージョンは現在、4.09 Build 904になります。要は、4.の後ろのコンマ09がDirectX9の9の部分になる。 ちなみに、DDRAW.DLL:5.03.2600.2180はDirectX9,0cの最終品としてリストに上がるDirectDrawコンポーネントです。 どうしてもおかしいならまあ、やっても良いでしょうが7に落とすのは絶対に避けましょう。DirectX7,0はWindowsXPでは動作しない16bitコンポーネントが含まれる危険性があります。 また、これをやる場合は、リカバリ覚悟で運が良ければというぐらいの気持ちでやることを強く推奨します。既に正常でなく、正常だった頃のバックアップがなければ最悪リカバリする方が早い可能性もあります。

green_shot
質問者

お礼

>WindowsXPに7,0を入れるとまず正常に動かないアプリケーションが大量に出てきますよ。 >OS側統合の機能もまともに動かなくなる。 >WindowsXPは標準で8,x以上を総合APIとして導入しています。 なるほど。ということは7.0は確かに避けた方が良さそうですね。 >ちなみに、DDRAW.DLL:5.03.2600.2180はDirectX9,0cの最終品として >リストに上がるDirectDrawコンポーネントです。 ということは、DirectXの一部はもう入っているのでしょうねえ・・。ますます訳が分からなくなってしまいました。これは私みたいな素人が手を出す代物じゃないかもしれませんね。 参考になりました。有難うございました。

その他の回答 (2)

  • parts
  • ベストアンサー率62% (6364/10149)
回答No.3

情報が増えているので再回答します。 Q/グラフィックチップは、ATI Mobility Radeon 7500です(DirectXの対応はver7まで?)。 A/RADEON7500(RADEON256)が備えるハードウェア機能は確かにDirectX7,0のDirect3D(HardwareT&L)とDirectDrawになります。 しかし、ソフトウェアやドライバの更新によってその後にサポートされるDirectGraphicsの機能。例えば、VertexShaderなどにはソフトウェアで対応しますから、対応しているといえます。ただ、機能の一部はサポートされていないか(例えばPixelShaderはサポートしません)、CPUがエミュレートするのです。 それでも動作するように、DirectXはドライバとハードウェアの間に立ち、これらの違いを吸収するのです。(これが、汎用プログラムであるAPI<Application Programming Interface>の役割の一つです) 後は、使うソフトウェアがどこまで柔軟性に富んでいるかになります。APIがいくら違いを埋めても、足りない部分は使うソフトが下位の機能に変換するか、なくても良いようにしなければいけませんからね。 Q/前持っていたDirectXを(型の対応など全く気にせずに)入れて、以前のゲ-ムを楽しんで(ここで動いたのも不思議ですけど)、それからバグった。 A/これのバージョンは分かりますか?たぶん、APIの一部が古い物に置き換わってますね。これは、かなり厄介でリカバリしないと難しいかも・・・ 具体的に状況を説明すれば、DirectX8,0a以上でなければ出荷用のWindowsXPのRTM版では想定されていないバージョンになります。その中には、XPに対応しないコンポーネントも存在することになり、当然あるはずのコンポーネントのバージョンがWindowsが想定するバージョンより低くなり必要な機能が使えないということになるのです。いわゆる先祖返り。 その古いバージョンにはない機能を必ず使うアプリケーションやOS関連コンポーネントを稼働させなければ、間違いなく正常に動作します。 しかし、それを動かすと不具合のオンパレードになるのです。 これが現在の状況です。 Q/SP2には同梱でDirectXが入っているはずなので、果たしてDirectXを単独で削除しても大丈夫か? A/残念ですが、SP2にはDirectXを完全に修復できる本体が入っているわけではありません。入っているのは最高でもWindowsXP RTMに対する差分です。要は、適用したDirectXのバージョンが例えば7,1ならばそれを全て9に置き換えるまでのデータは入っていないのです。 あくまで、8,xから9に更新するための想定です。これは、コンポーネントの置き換えを最低限にすることで、データ量の削減とバグの発生などを抑制するのです。 先の回答でいえば、 「新しいバージョンでもDirectGraphicsのみにしか大幅な更新がなければ、他のコンポーネントのバージョンは据え置かれることになります。」 というのは、そのためです。しかも、APIは前半で述べたようにハードウェアとソフトウェアの仲介をする重要なプログラムですからね。こうなるのです。 ということです。 ちょっと内容が重いですが・・・ ちなみに、私がこの状況に陥ったと仮定すれば、削除します。ただ、リカバリの覚悟をして大事な他のデータをバックアップしてからですけど。もう、手がないですし成功すればお得で、失敗してもあまり他の人はしない経験としては他に生かせるかもしれませんからね。 手順としては、1、2で問題ないと思います。 ちなみに、セットアップするDirectXは DirectX End-User Runtimes (December 2005) Full Download にします。Webで入手するものは、効率が良いのですがもしかするとXPというだけで、先祖返りしているファイルは更新してくれないのではと思うので・・・ 気持ちの問題ですけどね。

green_shot
質問者

お礼

ご回答ありがとうございます。 そうですか、なかなか難しそうですね。こちらも読んでるだけで知恵熱が出てきそうで・・・。 諦めるか、削除するかもう一度考えてみます。有難うございました。

  • yui_o
  • ベストアンサー率38% (1217/3131)
回答No.1

PCは何を使っているでしょうか・・・? (あとOSも) DirectX5ってWin95かWin98のすごい初期に搭載されていたものですよね・・・? でもわからないのが・・・ >DirectXを削除しようと考えています(OS=WindowsXPの再インストールは面倒なので・・)。 WindowsXPの場合、最初からDirectX9(SP2の場合9C)が入っているはずです。 また、グラフィックチップは何を使っていますか? それによっても最適なDirectXが変わってきます。 というわけで補足お願いします

green_shot
質問者

補足

すみません。文字数の関係で重要なところを割愛していました。 いま使っているOSはXPです(DXInfoではWindows NT:5.1 Build 2600 Service Pack 2)。 グラフィックチップは、ATI Mobility Radeon 7500です(DirectXの対応はver7まで?)。 >DirectX5ってWin95かWin98のすごい初期に搭載されていたものですよね・・・? そうです。 >WindowsXPの場合、最初からDirectX9(SP2の場合9C)が入っているはずです。 そうなんですよ。だからSP2をインストールしたときに正常更新されているだろうと、軽く考えていたのですが・・・。 経緯をお話しすると、XPを買った当時は今より更に、PCに関する知識が乏しかったのですが・・前のゲームがXPで動かなかったので、PC内にはDirectXが入ってない、と思ったんですよ(本当に入ってなかったかどうか今では知るべくもないのですが・・)。 それで、前持っていたDirectXを(型の対応など全く気にせずに)入れて、以前のゲ-ムを楽しんで(ここで動いたのも不思議ですけど)、それからバグって、そして暫くしてSP2をインストールしちゃった・・・というわけです。 そして今振り返ると、おかしなことになっている・・のです。 しかしおっしゃる通り、SP2には同梱でDirectXが入っているはずなので、果たしてDirectXを単独で削除しても大丈夫か?という疑問があるわけで・・・迷ってます。 宜しくお願いします。

関連するQ&A

  • DirectXのDDRAW.dllが見つかりません

    DirectXの調子がおかしいようだったので、「ファイル名を指定して実行」でdxdiagと入れてDirectX診断ツールを見たところ、「DDRAW.dll」の欄に「見つかりません」と書かれていました。そこでマイクロソフトのホームページからDirectX 9.0c End-User Runtimeというものでアップデートして直そうと思ったのですが、アップデートしても「DDRAW.dl」の欄には「見つかりません」と書かれているままでした。これはうまくアップデートできていないということなのでしょうか?色々調べてこの段階まできたのですが、どうしても解決できないので、回答よろしくおねがいします。

  • DirectXについて

    OSはmeです。 富士通のDESKPOWER C6/86LB dxdiagで診断したところ最初に 警告:インストールされている DirectX(4.09.00.0904)のバージョンは、この DxDiag(4.08.01.0881)のバージョンよりも新しいと思われます。 表示される情報が正確ではない可能性があります。 新しいバージョンの DxDiagを使用してください。 とでます。 メモリは126MB DirectXのバージョンは4.0900.0904 と表示されています。 一番下のDxDiagは4.08.01.0881 になっています。 DirectX ファイルのタブの下の注意は いくつかのファイル (dpnwsock.dll, dpnmodem.dll) が見つかりません。 最新のバージョンを取得するには、DirectX をインストールし直す必要があります。 の2つがあります。 このような場合どのようにしたら直りますか? 情報不足などありましたらお願いします。

  • directX9をインストールしたが…

    ぷよぷよフィーバーに必要なdirectX9をインストールしたんですが再起動してもアップデートできませんでしたと出ます。 しかし、診断ツールではちゃんと9.0bと出ます。 それでddraw.dllが開始できません問題ができません。と出ます。 何が原因なのかおしえてください。お願いします。

  • DirectXのインストール方法

    問題が起こったので、反対されましたがツールを使ってDirectXをアンインストールしました。すると、ファイル名を指定して実行からdxdiagと入力して OK を押したところ、ファイルが見つかりませんでした。アンインストールに成功したと思われます。 しかし、インストールしようと思っても失敗しかしません・・・ となると、これらはパッチということになるのでしょうか? やはりDirectXの本体をインストールしなければ進めないと思います。 OSの再インストールした方がはやいといわれましたが、できればこの方法は取りたくありません。 まずどのような行動を起こすべきでしょうか? ちなみに、削除ツールには、DirectXを2.0まで下げるものとかかれていました。

  • DirectX

    アプリケーションをインストールしようとしているんですけど、DirectX 9.0のインストールを求めてきます。自分のPCには、「dxdiag」からDirectX診断ツールで見たんですけどバージョンはDirectX 9.0(4.09.0000.0900)となってました。 マイクロソフトから最新のDirectX9.0cをダウンロード出来るそうなのでリンクをたどって探しましたが、「サーバーが見つかりません」とでます。今、このDirectXは手に入れられないようになっているんでしょうか? 皆さんは繋がりますか? ただ自分のPCからは、アクセスできないようになっているだけのことなんでしょうか? OS:WindowsXP SP1

  • DirectXインストール中、D3DCompilerでとまる

    OS WindowsXP SP2 DirectX ver 9.0c DirectXをインストール中、「D3DComplier_33.dll」のコピー中にとまってしまい、Errorが出てインストールすることが出来ません。 どうしたらよいのでしょう。

  • Direct Xがアップデートされない

    DirectXを新しいバージョンにしようと思い、アップデートをしました。 ダウンロードしたexeファイルを開いて、ごく普通に。 ですが、再起動した後、黒い画面に 『%1 %2 いくつかのファイルが更新されませんでした(←たしかこんなようなの)』 が延々と出て、その後、新しいバージョン(8.1)でないとできないゲームをやろうとしても、やはりできません。 DirectX診断ツールを開くと、 『警告:インストールされているDirectX(4.09.00.0904)のバージョンは、このDxDiag(4.08.00.0400)のバージョンよりも新しいと思われます。表示される情報が不正確になる可能性があります。新しいバージョンのDxDiagをしようしてください。』 と出て、 その後「システム」を見ると「DirectX バージョン」は 4.09.00.0904となっています。 「DirectX ファイル」を開くと、「注意」の部分に 『・いくつかのファイル(dpnwsock.dll,dpnmodem.dll) が見つかりません ・最新のバージョンを取得するには、DirectXをインストールしなおす必要があります』 と出ます。 なんどかインストールしていますが、同じ結果に…。 困っているのでお願いします。

  • directXが無くなっちゃいました。

    リカバリしてので、PCの性能見ようとしてDirectXのバージョンが知りたくて過去ログ見たら、システムツール→システム情報にしたけど、そこからツール見てもそれらしいものがなくて、ファイル名でdxdiagと打ち込む方法もしたんですけど、それでもdirectxが見つかりません。 これってDirectXがなくなってるってことなのでしょうか? Directxが欲しいんで、サイト見たらdirectx9.0しかダウンロード出来ないみたいです。 でも、win98だからdirectx9は危ないと過去ログにありました。 リカバリする前はdirectx9ダウンロードしてたんですけど、やっぱり調子悪くなりましたし。 ですのでdirectx7くらいがいいかなと思ってるんですけど、どこかダウンロードできないでしょうか?

  • DirectXについて

    僕は某オンラインゲームをインストールしました。 そして、動作環境を見てみるとどうやらDirectX9.0cが必要なようでこれと、DirectX エンド ユーザー ランタイム Web インストーラを外付けHDDにインストールしました。 そして、ゲームを起動しようとすると、なんか「コンピューターに d3dx10_43.dll がないため、プログラムを開始できません。」というエラーが出て来ます。   どうやらd3dx10_43.dllはDirectXの事らしいのですが、なぜちゃんとDirectX9.0cを入れてるのにこのようなエラーが出るのでしょうか?  DirectX9.0cやユーザーランタイムを外付けHDDにインストールしたからでしょうか?  あっ、そういえば元々PCにはDirectX11が入ってるのですが、それが原因ですかね? まあとにかくDirectX9.0cをしっかり入れてるのになぜコンピューターにないというエラーが出るのかを知りたいです。  *知ってる方は教えて欲しいですが、11から9.0cにダウングレード出来ますか? もし、出来ないならどうすればオンラインゲームはプレイ出来ますか? ちなみにオンラインゲームはあの有名なWOTというゲームです。 よろしくお願い致します。

  • DirectXについて

     僕は某オンラインゲームをインストールしました。 そして、動作環境を見てみるとどうやらDirectX9.0cが必要なようでこれと、DirectX エンド ユーザー ランタイム Web インストーラを外付けHDDにインストールしました。 そして、ゲームを起動しようとすると、なんか「コンピューターに d3dx10_43.dll がないため、プログラムを開始できません。」というエラーが出て来ます。   どうやらd3dx10_43.dllはDirectXの事らしいのですが、なぜちゃんとDirectX9.0cを入れてるのにこのようなエラーが出るのでしょうか?  DirectX9.0cやユーザーランタイムを外付けHDDにインストールしたからでしょうか?  あっ、そういえば元々PCにはDirectX11が入ってるのですが、それが原因ですかね? まあとにかくDirectX9.0cをしっかり入れてるのになぜコンピューターにないというエラーが出るのかを知りたいです。 よろしくお願い致します。

専門家に質問してみよう