Question: I write a program helloworld.exe; it depends on a.dll. I don't have the source code of the a.dll, which is a dynamic dll. How can i change it to static library, so I can link it into helloworld.exe?

Answer: 
False, it is possible to do this. For example there is a tool called [dlltolib](http://www.binary-soft.com/dll2lib/dll2lib.htm) which can do it.
I agree with Jerry, and if it is a deployment problem, you may use [Nullsoft Scriptable Install System](http://nsis.sourceforge.net/Main_Page).