Personally I would not use some DLL extraction technique. It is going to bring you into more problems with antivirusses, and the constantly increasing limitations of doing with binaries that use code.

If you really want to pursue this, go the way of static linking, but be warned, that takes work and skill.

Of course I wouldn't even try to do this, and just distribute DLLs. The one .EXE thing is fun from a purist stance, but there are many practical problems. The biggest being that if you finally figured it out, an year later, versions have changed and to upgrade you will have to do it all over again.

In other words, it is not an one way effort, but something that needs to be repeated as new versions, antivirruses, general security limitations in Windows etc mature.