Quote: "For example, may require items registering in the Windows Registry."
Definitely not necessary! Registry settings is a bad habit from from Win9x and are fading out with .NET applications. But that's a different topic... Regarding deploying your application, you need two things to be installed on target machine:
1) MS Visual C++ Runtime
2) DirectX Runtime (August 2007)
Both runtimes can be downloaded and installed from Microsoft download section, or you can deploy them along with your game. The DirectX runtime must be installed (you must distribute it only using their setup program), but the MSVC runtime can be freely distributed as a .dll along with your application without breaking any license.
GDK is being linked statically, so it is automatically linked into your executable during build. Of course, if you use other 3rd party libraries (like Newton Dynamics, FMOD or whatever), you have to add those to your package/installer.