views:

34

answers:

1

Dear all,

Our Windows C++ Ogre-based game is nearing completion. Before we publicly release it, we have to solve this matter :

Ogre crashes on many test-computers if they are not updated to the latest Dx9.0c version. All these computers already had 9.0c installed, but that must have been an older OS-pre-installed sub-version, hence the crash..?

The 1st questions is : how can I ensure that a user has the correct 9.0c version so that the game doesn't crash on the user's face, but instead show a message like "Go get the latest 9.0c version from there...."?

The 2nd question is : is there a standard, automated method to update the user's computer to the latest 9.0c version during the game's installation? That would be the best solution.

Many many thanks in advance,

Bill

+3  A: 

The 1st questions is : how can I ensure that a user has the correct 9.0c version so that the game doesn't crash on the user's face, but instead show a message like "Go get the latest 9.0c version from there...."?

The best idea is to update/install DirectX silently from Game Installer. Along with other required system components like PhysX, vcredist, etc. Silently, without asking "do you want to install DirectX" (user may not know if he needs DirectX, and if it is already installed, nothing will happen).
See DirectX Installation for Game Developers. Also, I'd recommend to see "Instalation and Maintenance of Games"

This is because (I believe that) when you're making games, you should assume that computer user is total idiot. I.e. if you give instructions, expect that user will screw up, damage the system and blame you for it. Compared to that silent DirectX install is almost fool-proof. Also, it is much more convenient - user won't have to hunt for DirectX download, and will be able to play immediately after installation.

The 2nd question is : is there a standard, automated method to update the user's computer to the latest 9.0c version during the game's installation? That would be the best solution.

AFAIK, DXSDK includes DirectX redistributable, and AFAIK you're supposed to include those redistributables with your product.

SigTerm
You can omit most of the CAB files in the redistributable, you only need to include the ones that your application needs.
John Burton