In reply to @devlop_gaming "I don't want there": how about system like this: your program is Foo, and you distribute to your users Foo.zip when unzipped, there is Foo.exe and Foo folder. Inside Foo folder is the “real” Foo.exe and all the DLLs it needs as siblings. The top-level Foo.exe when double-clicked launches Foo/Foo.exe