Jump to content
  • Advertisement
Sign in to follow this  
sszczepa

HOW: Compile to run without DXSDK

This topic is 4821 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

hello, how do I compile a code in C# sa the exe file is runnable on other machines (without SDK)????

Share this post


Link to post
Share on other sites
Advertisement
If you want to compile DirectX code, regardless of the language (C++ or C#), you need to have the DXSDK. If you just want to run your applications, you don't need to have it.

If the program is crashing on other machines, it can be a multitude of things. Are you doing any error logging? That seems to be the most helpful thing - just writing the current status out to a text file.

Share this post


Link to post
Share on other sites
Build a release version (without debugging info).
People will always need have to right DirectX version installed (albeit not the SDK).

[edit]

I'm confused now [smile]: you need it to build it without SDK, or you need to make it run on a system without SDK?

Share this post


Link to post
Share on other sites
Somewhere in the SDK files there should be a text file (probably named REDIST.TXT or something similar) that lists the files that you can redistribute with your application. The library files that you need for somebody to run your program should be listed among them. This means that if you want somebody to be able to run your program without installing the full SDK, you are expected to provide those files yourself along with your application.

That's how commercial software does it.

Share this post


Link to post
Share on other sites
Quote:
Original post by Fruny
Somewhere in the SDK files there should be a text file (probably named REDIST.TXT or something similar) that lists the files that you can redistribute with your application. The library files that you need for somebody to run your program should be listed among them. This means that if you want somebody to be able to run your program without installing the full SDK, you are expected to provide those files yourself along with your application.

That's how commercial software does it.

The DirectXSetup stuff makes this a whole lot easier. I'm a bit too busy to find the exact links/resource for you, but basically you can bundle the REDIST files with your application and use DirectXSetup to do the rest.

DirectXSetup will only update those parts that are needed, thus you won't incur any changes on up to date systems. The only overhead is that the size of the redist archives can be prohibitive for web-distributed applications.

hth
Jack

Share this post


Link to post
Share on other sites
Quote:
Original post by sszczepa
i have recompiled with "release" option, and nothing changed.
what more can be done?

Due to the way the GAC and managed DirectX work the end user needs to have the exact version of DirectX you compiled against installed. That means if you compiled against say February 2005 and the end-user has April but not Feb.. it won't run. This is why you need to ship an installer with a managed DirectX application.

If the end user has the exact same version of MDX installed that you compiled against, and you build in release mode, there is no problem with distribution.

You could always use the Bootstrapper to make things easy.

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!