Cookman

I just tried to get my version of my program to run on another computer. The application fails to start up because it fails to find d3dx9_30.dll. The person has on there computer direct X 9c runtime installed.

So my question is how do I make my application so it can run on anyones pc who already has direct X 9 installed Will I need an installation program to ensure the person has this file Or can i get by with changing the compile settings. Or can i include d3dx9_30.dll in with the application

Using Visual Studio 2005 and direct X 9c



Re: Game Technologies: General Getting my application to run on someone elses computer

Jim Perry

Do they have the correct version of DX9 installed (there's more than one)




Re: Game Technologies: General Getting my application to run on someone elses computer

Cookman

I have direct X 9.0c(4.09.0000.0904) installed and the SDK i'm using is the June 2006 edition. I could upgrade both using the Febuary 2007 release of the direct X SDK and distribute the runtime you get with the SDK to the others i want to use the application If you think that would fix the problem

 They both have direct X 9.0c





Re: Game Technologies: General Getting my application to run on someone elses computer

Jim Perry

Making sure the version you're using and the version they have match up would be the first place to start I think.




Re: Game Technologies: General Getting my application to run on someone elses computer

The ZMan

Just because someone tells you they have DirectX 9.0c does not mean thay have everything they will need. When Windows reports this is is saying it has the 'core files' installed. DirectX also has lots of optional files such as the D3DX DLLs (there is a new one every 2 months), Managed DirectX, XInput, Xact (and maybe some more I am forgetting).

As an application developers it is YOUR responsibility to ensure that the correct files are installed with your game by using the DirectXSetup SDK

http://msdn2.microsoft.com/en-us/library/bb173026.aspx and http://msdn2.microsoft.com/en-us/library/bb219742.aspx and http://msdn2.microsoft.com/en-us/library/bb174600.aspx

Or you can just send your friend to http://www.microsoft.com/downloads/details.aspx familyid=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3 which will check for and install all optional components up to the day of install. (this means that if in 6 months you choose to use a future verion of d3dx then they will have to revisit this site to get the new d3dx)

and NO you cannot include the file with your application. The DirectX EULA does not allow you to ship DirectX DLLs unless they are inside the original DirectX cab files and installed by DirectXSetup. This enables Microsoft to know where files are if they need to be patched and also stops people fro duplicating identical files all over my hard drive.






Re: Game Technologies: General Getting my application to run on someone elses computer

Cookman

Thanks you have clarified everything i wanted to know. I'm sorry if i offended. Yeah i have since contacted the people who need the software and have given them the infromation they need to update. I asked if i could include it for licencing reasons as well as future compatibility issues too.

There is no need for the capitals I was only asking. Now its settled I can get back to finishing the application.





Re: Game Technologies: General Getting my application to run on someone elses computer

The ZMan

The caps were just for emphasis, no shouting implied, nor any offence taken from your post.




Re: Game Technologies: General Getting my application to run on someone elses computer

Counter Arts

What about the DirectX redistributable Does that fix the problem




Re: Game Technologies: General Getting my application to run on someone elses computer

waruwaru

Counter Arts wrote:
What about the DirectX redistributable Does that fix the problem

As long as you install the latest one. ;)