Of course, when you call DirectDrawCreate(), you get an interface. That's
what I wrote, I didn't mean any special interfaces. You just call
...Create() and get the interface. If you get the interface you want to use,
DX is surely installed. That's it. No registry/dll version checking is
actually required.

/-
Aley

----- Original Message ----- 
From: "Simon Owen" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, March 25, 2004 1:53 AM
Subject: RE: SimCoupe 0.90 beta 10


> Aley Keprt wrote:
> > What you actually need is to check that all interfaces you use
> > in your program are supported on that machine. So I think your
> > installer should rather try to obtain all interfaces used in
> > the SimCoupe
>
> That's the thing - I don't ask for explicit interface versions, calling
> DirectDrawCreate() to obtain any suitable interface.  I happen to know
that
> DirectX 3 contains all the base functionality I use, and the casual
> installer check for that is just a precaution.
>
>
> > instead of using some undocumented tricks to obtain DirectX version.
>
> Microsoft's GetDxVer sample uses a DDRAW.DLL file version check for DX3
and
> earlier, which is official enough for me.
>
>
> > I think the reason of malfunction on NT 4.0 is that it
> > contains a hybrid DirectX version, which is DirectX 2
> > compliant, with some components supporting several features
> > of DirectX 3. The version probing code probably inadvertently
> > checks some of the DX2 libraries, and complains DX3 is not installed.
>
> You're _way_ over-complicating things!  It was simply looking for the DX
> version number in a registry key that didn't exist in older versions of
> DirectX.  Failing to find the version key it assumed DirectX was not
> installed.
>
> Here's the NSIS function I was using for the old check (yes it is wrong,
and
> no I didn't write it):
>  http://nsis.sourceforge.net/archive/nsisweb.php?page=407&instances=0,110
>
> Si
>
>
>
>

Reply via email to