Если вы публикуете через ClickOnce, все это, как правило, обрабатывается для вас. У него есть свои плюсы и минусы, но обычно это проще, чем пытаться все это кодировать самостоятельно.
Обе Википедия и 15 секунд имеют приличную информацию об использовании ClickOnce, его работе и т. Д.
Как уже заявляли другие, ClickOnce не так гибок, как развертывание вашего собственного решения, но гораздо менее сложен. Сначала он имеет небольшую кривую обучения, но почти все, что связано с Visual Studio и использованием Wizards, обычно не занимает много времени, чтобы наткнуться на рабочее решение.
Поскольку развертывания становятся все более сложными (то есть, помимо наличия предварительных условий или кода приложения, который требует обновления), и вам необходимо выполнять множество задач после установки или предварительной установки, существуют такие вещи, как WiX, которые дают вам некоторую гибридное решение между установщиком Windows и ClickOnce, при этом стоимость гибкости значительно усложняет процесс обучения.
Единственная причина, по которой я стараюсь избегать пользовательских инсталляторов, заключается в том, что вы тратите слишком много времени, пытаясь его получить в самый раз для обработки множества различных сценариев "Что если" ...