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

