Jump to content
  • Advertisement
Sign in to follow this  
Aidamina

Managed DirectX dependancies?

This topic is 4647 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Well i wrote this very basic directx application in c# using VS 2003 .NET it renders a textured .x file model and has a camera class which allows you to look arround. Everything compiles fine and looks correct on my screen. BUT When i send the application file, the .x file and the appropriate texture files to a friend of mine ( yes i tested it with multiple ppl all having 2.0 framework) It crashes on initialisation. With different errormessages on different systems. What really suprises me is that some of the error messages are "Application has generated an exception that could not be handled." errors while my main function is one big try catch exception block, which should fetch all exceptions right? So my question: Do i need to include additional files to the application to make it work for other people besides me. ( I'm building in Release Mode and using DirectX SDK december 2005) Any suggestions? EDIT: Fixed some grammar/spelling :P

Share this post


Link to post
Share on other sites
Advertisement
hm, one question about that:
if i write my dx application with the june sdk, do the enduser need the june runetime or can they also use the december runtime? (IMHO it would be total crap if they need the june runtime)

Share this post


Link to post
Share on other sites
You can just include the runtime files with your MDX application. Simply set the Copy Local properties to true on the projects references to the MDX libraries. This will copy the necessary DLLs to your output directory for easy distributing, so you'll always have the correct DLLs with your app.

You will need to manually copy the appropriate D3DX DLL with it too, since when you're using MDX, you're probably also using D3DX. The total size of the dependencies is be about 1.6 MB for MDX and 2.2 MB for D3DX, which shouldn't be too much to download these days.

Edited: can't type, need sleep

Share this post


Link to post
Share on other sites
Quote:
Original post by compiler
hm, one question about that:
if i write my dx application with the june sdk, do the enduser need the june runetime or can they also use the december runtime? (IMHO it would be total crap if they need the june runtime)

They would need the June runtime.

Quote:
You can just include the runtime files with your MDX application. Simply set the Copy Local properties to true on the projects references to the MDX libraries. This will copy the necessary DLLs to your output directory for easy distributing, so you'll always have the correct DLLs with your app.

You will need to manually copy the appropriate D3DX DLL with it too, since when you're using MDX, you're probably also using D3DX. The total size of the dependencies is be about 1.6 MB for MDX and 2.2 MB for D3DX, which shouldn't be too much to download these days.

Even though that'd technically work, it's illegal. You can't distribute DirectX components directly that way - you have to use DirectSetup.

Share this post


Link to post
Share on other sites
Quote:
Original post by Muhammad Haggag
Quote:
Original post by compiler
hm, one question about that:
if i write my dx application with the june sdk, do the enduser need the june runetime or can they also use the december runtime? (IMHO it would be total crap if they need the june runtime)

They would need the June runtime.

Quote:
You can just include the runtime files with your MDX application. Simply set the Copy Local properties to true on the projects references to the MDX libraries. This will copy the necessary DLLs to your output directory for easy distributing, so you'll always have the correct DLLs with your app.

You will need to manually copy the appropriate D3DX DLL with it too, since when you're using MDX, you're probably also using D3DX. The total size of the dependencies is be about 1.6 MB for MDX and 2.2 MB for D3DX, which shouldn't be too much to download these days.

Even though that'd technically work, it's illegal. You can't distribute DirectX components directly that way - you have to use DirectSetup.


This is one of the reasons I utterly despise Microsoft's decision to make the D3DX runtime dynamic rather than statically built into the program. Making sure they have the exact version of the runtime you built against even if they have the latest version of DirectX isn't fun at all. They should at least include the D3DX libraries with the latest version of DirectX.

Share this post


Link to post
Share on other sites
Quote:
Original post by Muhammad Haggag
Quote:
...


Even though that'd technically work, it's illegal. You can't distribute DirectX components directly that way - you have to use DirectSetup.


So I've read just yesterday in the topic you linked to from this thread... I guess my 4e4 entry was illegal as well then :)

Anyway, how does Microsoft expect us to easily deploy our MDX apps then? DirectSetup seems to be a C++ feature only (a search through the MDX docs confirms this), so we'll have to switch back to C++ to create a decent installer. If we MDX-ers all would be that comfortable with C++, we probably wouldn't be using MDX...

Catch22 yet again :)

Share this post


Link to post
Share on other sites
Quote:
Original post by remigius
Anyway, how does Microsoft expect us to easily deploy our MDX apps then? DirectSetup seems to be a C++ feature only (a search through the MDX docs confirms this), so we'll have to switch back to C++ to create a decent installer. If we MDX-ers all would be that comfortable with C++, we probably wouldn't be using MDX...

Just include the components you want with DXSetup.exe and launch it from your installer.

Share this post


Link to post
Share on other sites
Right... Ignorance got the better of me, sorry :)

Since December 2005 MDX is installed by default too right? So we no longer have to use the /WithMDX (or something like that) switch? If you could confirm that, I'll stop complaining for real now ;)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!