У вас есть два основных варианта: либо написать свою программу на чистом C++ (или на каком-либо другом языке, который может/будет создавать полностью автономные исполняемые файлы), либо использовать зависимый ходок, чтобы найти нужные DLL, и упаковать их в программа установки.
Опция, которую вы предлагаете (принимая существующий исполняемый файл, который зависит от некоторых DLLS и пытается «внедрить» библиотеки DLL в исполняемый файл) в значительной степени неработоспособный. Теоретически вы могли бы (например) создать программу установки в качестве исполняемого файла и просто попросить пользователя повторно запустить программу установки каждый раз, когда они захотят запустить вашу программу. Обычно это добавит достаточно накладных расходов, которые, вероятно, не понравятся вашим пользователям.
Кроме того, вы можете поместить DLL в исполняемом файле как бинарный ресурс и использовать FindResource
, LoadResource
и т.д., чтобы написать свой контент из временного файла - но это требует немного полупрозрачный продвинутого программирования, и это до сих пор налагает достаточное количество накладных расходов.
Вы имеете в виду C++/CLI? – SLaks