Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / Detecting if DGDK.NET is Installed

Author
Message
Argon Knight
22
Years of Service
User Offline
Joined: 29th Aug 2002
Location: Gastonia, NC, USA
Posted: 9th Jan 2007 19:11
I thought it this was already mentioned, but I cant seem to find it, so I'm going to ask (again).

When I write my app's setup scripts, if I want to detect if the dgdk.net is installed, is it best to look for the ${sysdir}\DGDK.DLL?

I'm just trying to make my scripts a little smarter: If the runtime is installed AND its the right version or better, Then skip this part of the setup, Else run dxsetup.exe
CattleRustler
Retired Moderator
21
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 9th Jan 2007 20:05
Apex can answer this better but, even though the dll being present and the right version is one test, I would think you might need to check the actual registry entries it creates to know for sure. I could copy the right version of the dll to my system folder yet its not actually installed. Your current script would detect it and allow the game to install but the game would not run beyond that.

I would check with Apex tho.

APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 9th Jan 2007 21:03 Edited at: 9th Jan 2007 21:06
If you can do a check on the registry, check to see if the following key exists:

HKEY_CLASSES_ROOTAppID{2D45445D-D16B-4E25-BDD4-6F2FCDE973D1}

If this exists, the runtime is installed. I will stress here that if you're using Inno Setup, you should really check for version information before attempting to copy and install the component. Also, and I already do all this in DGDKSetup.exe, but you can add DGDKSetup.exe to the Inno Setup [RUN] section of your script file. If you use the -s argument, it will only install DGDK.NET if it needs to be, quietly.

I did try emphasising this in the other thread, but DGDKSetup was created specifically for runtime distribution, in that it also installs other files absolutely and positively nrecessary for DGDK.DLL to register and work. If you are installing DGDK.DLL yourself, I will not be held responsible for potential problems occuring on an end user system because of missing files

Paul.

Argon Knight
22
Years of Service
User Offline
Joined: 29th Aug 2002
Location: Gastonia, NC, USA
Posted: 9th Jan 2007 21:51 Edited at: 9th Jan 2007 22:24
Thanks..

I use NSIS 2.22, with the Eclipse IDE plugin.

I plan to use dgdksetup.exe to do the installing with a ExecWait call. Right now its 1 file that I could register, but that could change.

All I want to know is if its installed. Gives my setups a little flexibility: I can choose to either deploy the dgdk runtime with the setup files, or, not, but still be able to check for it.

Right now, most of the machines I will deploy to wont have it. I thought it would be nice to check. if it's not, go ahead and pre install. It wont hurt anything. well, shouldnt hurt anything.

Later, if more dgdk.net releases are made, and I use newer features that requires a newer lib, then knowing what version is installed would be nice before I execute the dgdk setup. A simple:

Quote: "
HKLMSoftwareThe Game CreatorsDGDK.NetVersion REG_SZ "1.0.6.0"
"


or something along that line, would be nice. Allows the runtime to change AppIds and file locations, and still gives our scripts a single point of contact.

edit: The one thing I have changed was rename the dgdksetup.exe to dgdknet1060setup.exe
Argon Knight
22
Years of Service
User Offline
Joined: 29th Aug 2002
Location: Gastonia, NC, USA
Posted: 9th Jan 2007 23:11
So far, it seems to work.

The nsis script for detecting dgdgk.net

Login to post a reply

Server time is: 2024-09-28 23:13:08
Your offset time is: 2024-09-28 23:13:08