Chris Voce

Chris Voce

  • NA
  • 10
  • 9.9k

Managed DirectX - C# - VS2010 - RunTime error on machines without DirectX. Can I catch this?

Dec 23 2010 11:53 AM

Hi,
Subject says it all really. 
I am using DirectX to read a game port (simply to capture the "buttons").  If there is no game port, or no DirectX, then I want to continue running the app anyway, and just never get any button closures.
I have added a reference in VS2010 to the DLL at C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.DirectInput.dll on my machine and am reading the Game port perfectly well on my machine (with the June 2010 SDK installed).  It also works perfectly well on another machine, if it has DirectX installed.
My issue is a machine that hasn't got the correct DirectX drivers installed.  I don't care - 90% of the users of the app don't need the button closures anyway and the app doesn't use DirectX for anything else.
So I am looking for a way to catch the exception, etc.  But I don't think the app ever gets far enough for me to catch anything - it is a .Net Runtime 2.0 Error Reporting message that ends up in the event log, and it contains nothing of any help to me:
"Faulting application vclock.exe, version 1.1.1.0, stamp 4d137667, faulting module kernel32.dll, version 5.0.2195.7135, stamp 46236f98, debug? 0, fault address 0x0002bcb1."
All help gratefully appreciated.  Let me know if I have missed any key facts.  I am developing in 64bit Windows 7, though the app runs perfectly well on 32 bit XP machines, so long as they have DirectX up to date.
Kind regards,
Chris

Answers (6)