Существует Руководство по Wix Toolset , которое охватывает лот деталей. WiX может иметь крутую кривую обучения, но, безусловно, все, о чем вы спрашиваете, кажется выполнимым.
Есть встроенных диалогов , но если их недостаточно для ваших нужд, вы, безусловно, можете создать пользовательский интерфейс .
Почти все в MSI / WiX является декларативным, и к большинству элементов можно прикрепить элементы Condition
, чтобы отключить их использование / запуск при необходимости (чтобы отключить ненужные диалоги во время переустановки / обновления). Поиск файла на ранней стадии установки не является редкостью и может быть выполнен с помощью стандартного FileSearch
.
В большинстве случаев вам не следует думать о написании кода на C #, если существуют декларативные способы достижения того же, уже встроенного в систему. Но для редактирования вашего конфигурационного файла вам, вероятно, придется перейти в Custom Action там.
Самое важное, что я бы сказал, - будьте готовы к тому, что здесь есть кривая обучения, и вы, вероятно, захотите поиграть с некоторыми концепциями в некоторых игрушечных проектах, прежде чем пытаться использовать их "в гневе". "для вашего реального проекта.