Why don't distribute any DLL's and data-files along with your game? I don't see why you should avoid that. Just zip/rar the whole thing. The user just downloads, unpacks the archive and all files are there, and you're ready to play.

It's almost impossible to write a game that just works "out of the box" on all computers. Different libraries and API's for 3d/sound/input/windowing are involved and some of the might need to be installed/updated in order to run the game.

As far as I know, there are tricks to store the DLL inside the exe. You could try to include it as a resource and write it to disk as soon as the exe is started. This might be a possible workaround.