Application Crashing on computers WITHOUT SDK

Started by
7 comments, last by JeremyCAFE 16 years, 10 months ago
We are currently have trouble redistributing our program to users who do not have the DirectX SDK Installed. I am 100% certain that they are running on the latest version of directX. Is there a build setting I am missing that prevents this crash from happened? They do not get a missing dll error, or any error at all. It simply crashes after the user clicks the icon to run.
Advertisement
Define "crashes". Is it an access violation? If so, reading or writing, and what address? Are you checking the return values for all your relevant functions? What language? What SDK version? Are you running the debug runtimes on your machine?
The crash does not give any information. It simply asks to report the crash to microsoft. We are running with the April 2007 SDK. The program never reaches a line of our code (from what it appears). I added a shutdown call before any of the Initialization functions are ever called and it still crashes.

This is with C++.

My directX control panel has "Use Retail version of Direct3D 9"
does anyone know of a common problem we may be making with our build settings to cause the game not to run without the sdk installed?
For that problem, the standard cause is missing DLLs.

First, verify that you're giving them a release build, since it's safe to assume they don't have any debug versions of CRT/MFC/xyz dlls on their system.

Second, since you're using the latest, greatest DX SDK, verify that they have D3DX9_??.dll on their system. I've lost track of the current number, since I'm not using that build.
Are you distributing the appropriate D3DX DLL and/or other dependencies?

To assume your end-user has the same libraries and system configuration is a big mistake.

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

I have packaged the latest DirectX 9.0c End-User Runtime with the install. For users who were not up-to-date, they would receive the dll error. However, after updating the application would simply crash before any window is created. The version is in fact the release build of the game.

The executable runs fine on multiple computers with the project team and on a few other computers in which we knew the sdk was installed.

Edit: I have also distributed the d3dx9_33.dll with the package to test if that was the issue. It was placed in both the application directory and the system32 directory. This did not solve the problem.
m_d3dObj = Direct3DCreate9(D3D_SDK_VERSION); // create the d3d object


is it possible that this line has anything wrong with it?


To add to this situation: I have another machine without the sdk installed. This allows me to test the issue. Previously, the SDK was installed and the application would run fine. However, after removing visual studio and directx sdk, the application crashes even after updated directx.
Problem fixed.

Those of us who tested the game all had the same laptops, which meant we could all support the same resolution. We finally realized that the game was only crashing in fullscreen, which was caused from an unsupported resolution.

Thank you to everyone who tried to help, we appreciate it.

This topic is closed to new replies.

Advertisement