Я думаю, что тема ответов, которые вы увидите здесь, заключается в том, что вы должны использовать программу установки и что вы не должны писать программу установки самостоятельно . Используйте одного из множества создателей инсталляторов, таких как Inno Setup, InstallSheild или что-то еще, что кто-то рекомендует.
Если вы попытаетесь написать программу установки самостоятельно, вы, вероятно, сделаете это неправильно. Это не против тебя лично. Просто есть много мелких деталей, которые следует учитывать установщику, и множество вещей, которые могут пойти не так, и если вы хотите написать программу установки самостоятельно, вам просто нужно сделать все эти вещи правильно. Это означает много исследований и много испытаний с вашей стороны. Избавь себя от неприятностей.
Помимо копирования файлов, задачи установки могут сильно отличаться в зависимости от потребностей вашей программы. Может быть, вам нужно поместить значок в меню «Пуск»; инструмент инсталлятора должен иметь способ сделать это очень легко, автоматически заполняя место установки, выбранное клиентом ранее при установке, и, возможно, даже выбирая правильный местный язык для ярлыка ярлыка.
Возможно, вам потребуется создать записи реестра, например, для сопоставления файлов или лицензирования. У вашего установщика уже должен быть простой способ указать, какие ключи и значения создавать или изменять.
Возможно, вам потребуется зарегистрировать COM-сервер. Это достаточно распространенное действие, которое, возможно, используется в вашем инсталляционном инструменте как часть операции после копирования файла.
Если есть некоторые действия, которые выбранный вами инструмент установщика еще не обеспечивает, инструмент, вероятно, предложит способ добавления пользовательских действий, возможно, с помощью языка сценариев или, возможно, путем связывания внешнего кода из библиотеки DLL, которую вы будете писать. это входит в ваш установщик. Пользовательские действия могут включать загрузку обновления с определенного веб-сайта, отправку электронной почты или инвентаризацию того, какие другие продукты вашей компании уже установлены.
Несколько последних вещей, которые должен предоставить инструмент установщика, - это способы применения обновлений к существующей установке и способ удаления программы, отменяя все эти задачи установки ( удаление файлов, восстановление резервных копий, отмена регистрации COM-серверов и т. д.).