If You wanted your application to be copy-able (being able to copy the whole game folder to another machine and run it) you should make sure that all required resources and libraries are located in this directory.
On Windows settings should be loaded from %appdata% and if they can't be found they should be created with some default values that make sense.
However if you want your game to be a single file it gets a bit more complicated.
You will have to use statically linked libraries (.lib files, not static linking of .dll's).
The resources will have to be added as actual ressource files by the linker or you just append them to your executable by using the copy command. I would prefer the second one, as mentioned before if you look for sfx archives you will find how they build their stub. The advantage is that code and resource compilation is not dependent on another. And if you're clever you will be able to remove appended ressources from you executable and replace them with new ones, no recompile neccessary.