Ok, I've seen your other post too. You need to understand the concept of dynamic link libraries.
Now, the way I explain this in class is with CARDS.DLL. If you play, say, Solitaire and Freecell, they both have the requirement of using cards. If you write a program that simulates a deck of cards and its use, then that program can be used over and over again in different card games, just as a real deck of cards can be used to play many different types of card games. So, both Freecell.exe and Sol.exe use CARDS.DLL. In this way, they don't have to "reinvent the wheel."
Now, if you were to remove all copies of CARDS.DLL from your machine, you would find that both sol.exe and freecell.exe wouldn't work. They would both say that they are "missing CARDS.DLL" when you tried to run them.
There are literally millions of analogously architected applications out there. To just have an exe, without any sort of dlls along with it, is quite rare now. Furthermore, ALL of your VB programs have DLLs that go along with them. You can't do what you're trying to do, whether you're using the common dialog control or not. (Your application does use it, or it wouldn't be refusing to continue when it doesn't find that dll file. That file is the common dialog control.)
So, there has to be a mechanism to figure out what dlls go along with the exe and package them. That's what setup programs do, and you'll want to check the links harebrain gave you.
HTH
Bob