They don't have to download the SDK. You need to provide the appropriate redist version of the .dll with your program. SDK stands for Software Development Kit. It's for development only. When TGC writes the wrappers they have to write to a specific dll where they know the name of the dll and the resources they can map to in it. When the program is run and GDK is initialized it needs to know exactly which dll to look in for specific functions and other resources. That's where the redist version of the dll comes in. You already have it on your workstation because you had to have it to develop. That's the problem with having to rely on a library furnished by someone else. You have to live with their dependencies.
It's like my developing something for .NET 3.5. If the user doesn't have that version installed they can't run my program. Microsoft has the advantage of updating the OS to match the latest while keeping the appropriate modules with the same name.
Lilith, Night Butterfly
I'm not a programmer but I play one in the office