Yes, you are going to submit the dll along with the package. The dll won't be embedded in the executable by default, because it would sincerely kill the purpose of "
Dynamic-link library[
^]". They are linked to your executable dynamically, that is why they need to be available otherwise your application would terminate "
unexpectedly".
When you create the package for your project, Visual Studio would automatically set up everything for you. Third-party DLLs would be added to the package (
not the executable!) and user needs to have them on the same folder that the executable is present. .NET also has DLLs, but you do not transfer those DLLs because .NET framework expects the client to have framework installed. Once framework is installed, DLLs are already available, so sending them along with the package won't make any sense. But, third-party libraries may or may not be available, that is why, system would parcel them with the executable.
Please read the documentation resource provided above for DLL to learn more about using the DLLs.