Jump to content
  • Advertisement
Sign in to follow this  
Monza

[SlimDX] SlimDX and Microsoft DirectX Distributables

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

I have an DirectX9 application that need to be distributed on corporate and university systems. Administrators of these system are loathe to install new distributable s (e.g. the SlimDX runtimes and the Microsoft DirectX runtimes) without checking first the umpteen other applications do not break. It is also complicated for single users to install two separate runtimes before installing your software. This has become a major impediment to distribution of my software as without both the runtime installs, the application will crash. Is it OK to includes the relevant DLL's with your install (SlimDX.dll and the Microsoft D3DX9_41.dll) to copy into your application directory and bypass the runtime installation? These files are not very big and makes the installation process much simpler for end users. I checked the process on a number of machines with and without the runtimes and it seems to work fine. Am I missing something here?

Share this post


Link to post
Share on other sites
Advertisement
hmmm - I thought that might be the case. Is there any way to check whether a SLIMDX compatible DirectX runtime is installed? It looks like I'll have to include the whole runtime distribution in my install file.

For example I have some code in my installer which check the .NET runtime

if (not RegKeyExists(HKLM, 'Software\Microsoft\.NETFramework\policy\v2.0')) then ; routine to install .NET 2.0

Is there a similar registry key for the DirectX version?



Share this post


Link to post
Share on other sites
Wait wait wait. You have your own installer? Then just integrate the SlimDX runtime directly into it. There's any number of ways to do it; you can embed the official MSI and invoke it (we more or less to this to install DX), or you can check the docs for other alternatives that actually integrate the bits directly into your own installer.

Also, you don't need the DX runtime installer if you're using ours. Am I not doing a good job of making this clear from the docs?

Share this post


Link to post
Share on other sites
Quote:
Original post by Monza
Administrators of these system are loathe to install new distributable s (e.g. the SlimDX runtimes and the Microsoft DirectX runtimes) without checking first the umpteen other applications do not break.
How would including the DirectX redistributables with your application affect this, though? They'd still need to test that it works with all the other applications, just because you're "hiding" the fact that it's installing the DirectX runtime doesn't mean you're not installing it...

Still, as Promit says, it's not actually that hard to include the runtime components in your own installer, I'm just not sure it's going to solve your partiular issue.

Share this post


Link to post
Share on other sites
Oh - I see - I didn't realize the SlimDX runtime also installed the Microsoft DirectX runtimes.

As Codeka has mentioned however, installing this runtime is likely to give Administrators cause for concern as it alters shared system files.

1. Do I now slip the msi installer into my installer and sneak it on the the end-user system with my install, hoping they don't notice.
2. Give the administrator the option to install the msi separately (or from within the install) and risk the program crashing if they don't install it.
3. Keep the DLL's separate and everyone happy, but breach the Microsoft DirectX distribution agreement

Many corporate and university computer labs with dozens or hundreds of PC image their system files periodically from a central imaged computer or distribute updates through network login scripts. While they don't generally have a problem with programs installing which don't alter shared system files, my experience is they are very nervous and cautious about ANY system file or windows update, even (especially?) from Microsoft.

I guess option 2 is the righteous way to go.

[Edited by - Monza on April 19, 2009 12:49:35 AM]

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!