![]() |
| | #1 |
| Registered User Join Date: Apr 2009
Posts: 10
| d3dx_39.dll I thought to just include the file to my installer package, but I thought it was against the DirectX license. Or is it allowed? |
| moment is offline | |
| | #2 | |
| Deprecated Join Date: Oct 2004 Location: Canada
Posts: 1,032
| Quote:
![]() Before you release your game you might want to check it in VirtualBox to double-check dependency issues.
__________________ Warning: Have doubt in anything I post. GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101 | |
| Dae is offline | |
| | #3 |
| (?<!re)tired Join Date: May 2006 Location: Portugal
Posts: 6,092
| I'm yet to find a game that did that to me... But lets open the window, shall we. The thread smells: ![]() From a cursory look at google, it seems games that do that are hacked games installed through custom packers. DirectX games don't ship that can't access DirectX. It would not make much sense, would it? ... and I suggest, the General Discussions for this thread.
__________________ Originally Posted by brewbuck: Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster. Quiet Technologies... that make some noise. |
| Mario F. is offline | |
| | #4 | |
| Deprecated Join Date: Oct 2004 Location: Canada
Posts: 1,032
| Quote:
1) Static link (not an option with DirectX). 2) Deploy DirectX installer with your game.. which is what newer games do since the 100mb is nothing to them when they use up 5gb DVD discs. That's probably what you found on Google, pirated games. Which makes sense because they might be repacked WITHOUT DirectX included to reduce size for downloading. Then noobs complain about not having the DLL. You can put it right in your setup process. Most games do. 3) State it as a prerequisite and provide a download link. You see that a lot on Asian MMO download pages. 4) Include the dependencies with your game. I don't know if it's against the EULA or not. I would include the installer anyway since it COULD provide other required files and since people SHOULD stay up to date. Oh, and yes, I have gotten this exact error because I switch between Linux and Windows a lot, as well as run Windows in a VM on multiple systems, and each time I have to upgrade DirectX or I get that error or a custom error. I actually got that exact one because I didn't have the latest August redist, I had April or something. Lame.
__________________ Warning: Have doubt in anything I post. GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101 | |
| Dae is offline | |
| | #5 |
| (?<!re)tired Join Date: May 2006 Location: Portugal
Posts: 6,092
| I'll take your word for it. Especially because my understanding of DirectX programming and of the library is next to null. But damn me if that makes any sense at all. I didn't know DirectX suffered from DLL hell to this day. In any case my apologies also to the OP. I skimmed your post and didn't realize you were asking about a game of your own doing. Not a generic question about gamers. When I hit the dll name on google... I was gifted with a host of warez related information.
__________________ Originally Posted by brewbuck: Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster. Quiet Technologies... that make some noise. |
| Mario F. is offline | |
| | #6 |
| Super Moderator Join Date: Aug 2001
Posts: 8,322
| Mario actually does have a valid point. If the OP was developing their own game this error would surely have cropped up at an earlier time or they would know how to deal with it since a simple trek over to gamedev or even gamasutra or MSDN explain in great detail what is happening. So it does sound suspicious to me as well but it does not mean it is definitely a hacked game. It is against the EULA to distribute the debug versions of D3DX - namely the d3dx<#>_<##>d.dll's. For d3d9 i thought the most recent one was d3dx9_35.dll but I could be wrong. I'm also quite positive that d3dx_39 is not a valid DLL name. Normally they include the version of DX they are compatible with. However if you provide the perfectly legal redist's for your game and they are the same redist's you developed under this will not be a problem. Seems to me you have a version mismatch IE: the host computer does not have the same D3D version as the computer(s) the game was developed on. If you create a setup and deployment project you can have it call out to the dxsetup.exe to run the DirectX setup program from the distribution you provide. Games do this all the time. DirectX is smart enough that it will not overwrite a newer version with an older version. Easiest way to check the issue is for the dev computer to run dxdiag and the host computer to run it. All the information you will ever need is right there in front of you. If not, since dxdiag usually does not show d3dx9_35 or any variant thereof you can check in Windows/System32 and see if the DLL is there. As an alternate route you can also place the d3dx dll in the same folder as the executable and the game will run. Windows XP by default checks the local folder first for the DLL where the exe resides and then looks in System32. If it cannot find it then you will get a message box stating the problem.
__________________ I remember when The Weather Channel talked about weather, MTV played music videos, and the History Channel talked about history instead of conspiracy theories. Last edited by Bubba; 12-05-2009 at 02:18 PM. |
| Bubba is offline | |
| | #7 |
| Registered User Join Date: Apr 2009
Posts: 10
| If it would be a hacked game I would not bother with license regulations anyway. |
| moment is offline | |
| | #8 |
| Super Moderator Join Date: Aug 2001
Posts: 8,322
| One would think you have run into this issue before. It is quite common in the development process for D3D before you have a good build that includes the redist's with it. We did not say your game was hacked and keep in mind the type of questions we get constantly about not having this file, that file, etc., etc. that definitely are due to hacking. If you follow the advice I gave you your program should work. Also keep in mind that if you built this with MSVC 2005 or later you must install the runtimes for those. The setup and deployment process will dependency walk your code and include them with the final package. The reason for this is b/c MSVC 6 and earlier linked to MSVCRT.DLL in the System32 folder. B/C Microsoft knew more versions would be made and b/c having to constantly update one DLL that every C/C++ program in the system used they decided to place them in the WinSXS or assemblies folder for XP. The assembly folder name exactly matches the name in your manifest file and if you open this folder up you will see the DLLs. This allows for much better version control and happens per EXE since each now contains a manifest. If you get a side by side error on the host computer it is saying it cannot find the DLL specified in the manifest.
__________________ I remember when The Weather Channel talked about weather, MTV played music videos, and the History Channel talked about history instead of conspiracy theories. |
| Bubba is offline | |
| | #9 | |
| Deprecated Join Date: Oct 2004 Location: Canada
Posts: 1,032
| Mario has a point the OP is suspicious and probably hacking, but we did not say his game was hacked. It's one way or the other, Bubba. The most recent one is 42, 39 was a year ago. They updated DX9 it in that new redist I figured was only for DX11. Quote:
Running to the forums for a DX error that obviously requires upgrade is kind of premature, I'll agree, but nothing out of the ordinary on these forums.
__________________ Warning: Have doubt in anything I post. GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101 Last edited by Dae; 12-05-2009 at 11:07 PM. | |
| Dae is offline | |
![]() |
| Thread Tools | |
| Display Modes | |
|