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 / DarkGDK applications

Author
Message
Hassan
15
Years of Service
User Offline
Joined: 4th May 2009
Location: <script> alert(1); </script>
Posted: 12th Dec 2009 13:25
Hello guys!

I'm wondering, why DGDK applications needs directX SDK installed to work, when normal games need normal directX only, is it possible to make a DGDK game work like any other game?

and also, some of my applications doesnt work at all on some windows XP machines ( gives error saying the application's configuration is not right or something, dont remember.. ), and works on some others, why's that? ( tried adding d3dx9_*.dll dlls in system32 but didn't try to install DXSDK )

thanks in advance

Mireben
16
Years of Service
User Offline
Joined: 5th Aug 2008
Location:
Posted: 12th Dec 2009 13:50
The DirectX SDK is needed to compile the game, not to run it. For running, only the appropriate version of the DirectX runtime should be necessary.

If you get the application configuration error, try installing the Visual Studio runtime libraries (for the version of VS you are using), that's a different thing from DirectX. For example, this is the VS 2008 SP1 redistributable:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2
Hassan
15
Years of Service
User Offline
Joined: 4th May 2009
Location: <script> alert(1); </script>
Posted: 12th Dec 2009 14:54 Edited at: 12th Dec 2009 14:54
oh well, whenever i send my game to someone or use it on any machine, which already have directX ( 9 / 10 ) it still gives missing d3dx9_*.dll error

Mireben
16
Years of Service
User Offline
Joined: 5th Aug 2008
Location:
Posted: 12th Dec 2009 15:20 Edited at: 12th Dec 2009 21:17
I said the appropriate version of the DirectX runtime. Dark GDK programs, in default installation, are compiled with the August 2007 version, so you need the runtime files for that version. Most computers have a different version of DirectX installed, that's why they don't have the d3dx9_*.dll. However, the runtime environment is significantly smaller than the whole SDK.

There were a few threads on this forum about how to compile Dark GDK programs with later versions of DirectX. Search the forums if you are interested.

Edit: disregard the last part.
Hassan
15
Years of Service
User Offline
Joined: 4th May 2009
Location: <script> alert(1); </script>
Posted: 3rd Jan 2010 14:50
Sorry for bumping, sorry the question might be stupid, but do i need the redistributable on my machine or on the machine i want to run the game on it?

Lilith
16
Years of Service
User Offline
Joined: 12th Feb 2008
Location: Dallas, TX
Posted: 3rd Jan 2010 18:38
Have you verified that the dll is in the search path or that it's in the same directory as the executable?

Lilith, Night Butterfly
I'm not a programmer but I play one in the office
Hassan
15
Years of Service
User Offline
Joined: 4th May 2009
Location: <script> alert(1); </script>
Posted: 3rd Jan 2010 19:03
im trying to run it on an XP machine, so it cant be in the same directory, and anyway, messing with the dll's is illegal, so i dont want to play with dlls or anything, i just want to get a dgdk game running on any machine like any other game, without the sdk dlls

Lilith
16
Years of Service
User Offline
Joined: 12th Feb 2008
Location: Dallas, TX
Posted: 3rd Jan 2010 20:11
Quote: "messing with the dll's is illegal"


I think you're taking things a bit too seriously. The appropriate DLL is part of the redistributable package. That means you can make it part of the install of any application requiring it.

Quote: "im trying to run it on an XP machine, so it cant be in the same directory"


Why not? Security issue?

Lilith, Night Butterfly
I'm not a programmer but I play one in the office
Mireben
16
Years of Service
User Offline
Joined: 5th Aug 2008
Location:
Posted: 3rd Jan 2010 22:04 Edited at: 4th Jan 2010 22:35
Quote: "do i need the redistributable on my machine or on the machine i want to run the game on it?"


On the machine where you want to run the game. (On your machine, on which the game was developed, the runtime environment was installed with the SDK. It is the other computer that misses the runtime environment.)

Quote: "The appropriate DLL is part of the redistributable package. That means you can make it part of the install of any application requiring it."


Yes, but there is a text file in the DirectX SDK documentation directory called "directx redist.txt", which lists a few files/packages which must be included in a DirectX redistribution. So strictly speaking, it is against the license agreement to distribute only one dll. For a quick test, just to see if the application can be started on the other computer, it works if you copy the dll into the same directory as the executable (unless you also need the Visual Studio redistributable mentioned above), but this shouldn't be an "official" installation procedure.

Remark: I recently installed a big, recently issued commercial game on my computer. While I watched the installation messages, it said "installing Visual Studio 2005 redistributable files" and "installing DirectX June 2007 files"... These are even older versions than what Dark GDK needs. I thought it will be interesting to mention that commercial games also need such redistributables.
Hassan
15
Years of Service
User Offline
Joined: 4th May 2009
Location: <script> alert(1); </script>
Posted: 4th Jan 2010 12:59 Edited at: 4th Jan 2010 13:05
so, all i need is the redistributable on the other machine, alright that sounds simple, ill try it.

@ lilith: if i put a DLL in the same directory as the application in windowsXP, the application doesn't find it, it only usses dlls in system32, well, i think...because if i add a dll in an application folder, i get missing dll error, but if i put it in system32 i dont get the error ( dunno if this can be changed from the control panel, but well its like that by default )

so, most ( if not all ) commercial games installs the required redistributable packs if the machine doesnt have it?

EDIT: http://www.microsoft.com/downloads/details.aspx?FamilyID=cb7397f3-0949-487b-9247-8fee451bf952&displaylang=en that is the required redistributable for gdk right?

Isocadia
15
Years of Service
User Offline
Joined: 24th Jul 2009
Location:
Posted: 4th Jan 2010 16:37
#mireben: Is it possible that your game might me the named after the night age. With as a subtitle another word for your background? And where you play at the beginning of a blight?( Since you didn't name hte name, I guess I can't either. But it also said installing 2005 redis, so just wondering.

Isocadia

PS: Sorry for off-topic.

Mireben
16
Years of Service
User Offline
Joined: 5th Aug 2008
Location:
Posted: 4th Jan 2010 19:27 Edited at: 4th Jan 2010 19:29
@Hassan: That's the one, but if you start it, it will unpack the same files which are already contained in your SDK installation, by default in the c:\Program Files\Microsoft DirectX SDK (August 2007)\Redist directory. So you can either use that EXE and unpack it on the other computer, or maybe copy the already existing Redist directory on a pen drive. On the other machine, just start the DXSETUP.exe program which you find among the unpacked files.

It would be nice if there was a tutorial about deploying applications on other machines.

Probably most games install their redistributables together with the game, but I don't exclude the possibility that some of them are written differently and they are able to handle newer DirectX versions. I don't know that much how commercial games are made, it was just funny to spot those install messages.

@Isocadia: the name is not a secret, it was just off-topic, that's why I didn't want to mention it. I think you are talking about another one.
Isocadia
15
Years of Service
User Offline
Joined: 24th Jul 2009
Location:
Posted: 5th Jan 2010 17:37
@Mireben: Well, I'm just gonna tell what I'm talking about and that is Dragon Age Origins. So even this high quality game uses the 2005 redistribuatables ( or how you spell it ).

And yeah, they should make a tutorial on how to do that.

Mireben
16
Years of Service
User Offline
Joined: 5th Aug 2008
Location:
Posted: 5th Jan 2010 18:30 Edited at: 5th Jan 2010 18:32
Mine was Fallout 3.

Here is something else that may be useful to others as well. This morning, at last I had access to another computer and I was able to do the test that I've been planning to do for weeks:

I took only those package files from the DirectX redistributable set that are listed as compulsory in the license file, plus the package that contains the usually missing DLL. The size of this reduced installation set is only about 4 MB, compared to the 62 MB size of the full redistributable set. I took this reduced package to the other computer which had a later version of DirectX but not the August 2007 version that Dark GDK requires. I started the setup - and it works! After the installation finished, I was able to start a simple Dark GDK application.

Of course, this only works if the other computer already has DirectX and even so I can't guarantee that it will work in every case. But if it does, then it is a huge improvement in the size of the redistributable files that you need to carry around or give away together with your program. I believe that this is OK according to the license agreement, but I'm not an authority on legal matters.
Cetobasilius
14
Years of Service
User Offline
Joined: 29th Dec 2009
Location: Mexico
Posted: 26th Jan 2010 11:13 Edited at: 26th Jan 2010 20:29
just copy d3dx9_35.dll in the same folder as your executable. it SHOULD run. ive made the tests compiling with multithreaded dll and it works fine. the incorrect configuration error message is because you are compiling in debug... compile in release. you should always see how release works. when you create a debug EXE it should weight around 1.7 mb, and if it is in release it can be below 1 mb. if you compile it in release mode, all you need as i said above is d3dx9_35.dll in the SAME folder as de executable. ive tested this before. many times. the game im working on compiles as a 800 kb executable in release mode, multithreaded dll, which runs in any machine when it has d3dx9_35.dll in the same folder. when i compile it in debug mode however, it weights about 1.9 mb and does NOT run at all... it says incorrect configuration... it depends on how large is yor game/how many lines of code, mine has aprox. 3500 but it makes almost no difference... so in total your EXE with the dll will weight around 4-5mb. hope this helps!

hi
Mireben
16
Years of Service
User Offline
Joined: 5th Aug 2008
Location:
Posted: 26th Jan 2010 23:23
Have you read all the thread? Yes it works if you copy the d3dx9_35.dll but it is supposed to be illegal. (That's what IanM said also in another thread a while ago, I can't find it now to quote.)

Thanks for mentioning compiling in release mode, that's important as well.
Cetobasilius
14
Years of Service
User Offline
Joined: 29th Dec 2009
Location: Mexico
Posted: 28th Jan 2010 09:28 Edited at: 28th Jan 2010 09:32
what? is that for real? thats a good one... ill search for it! thanks for telling me! in one of my tests the game ran without the dll and without any other installation, just ran it from my usb memory... it was a macbook with XP service pack 3 with the mac drivers installed by the way... maybe there is a way for our exes to think the new version of the dll is the one required? some way of hex editing it? err just a theory

hi
Hassan
15
Years of Service
User Offline
Joined: 4th May 2009
Location: <script> alert(1); </script>
Posted: 28th Jan 2010 09:39 Edited at: 28th Jan 2010 09:40
installing the redistributable is just fine

Niels Henriksen
20
Years of Service
User Offline
Joined: 27th Sep 2004
Location: Behind you breathing heavely
Posted: 29th Jan 2010 16:54
Use an installer like InnoSetup. Then you can test if its the right version of DirectX lib.

Niels Henriksen
www.tales-of-the-realms.com
if Microsoft can sell software with bugs, so can I.

Login to post a reply

Server time is: 2024-10-01 23:38:45
Your offset time is: 2024-10-01 23:38:45