Ответ Роба был чрезвычайно полезен, чтобы получить 2/3 пути к тому, что вам нужно. Я просто потратил некоторое время, чтобы найти свой путь в 1/3 финала, поэтому я надеюсь, что этот пост поможет вам разобраться быстрее, чем я:
Эта статья MSDN помогает объяснить, как создать настраиваемое действие:
https://msdn.microsoft.com/en-us/library/d9k65z2d(v=vs.100).aspx
Чтобы связать все это вместе, после того, как вы создали проект Custom Action, как описано в статье MSDN, вам нужно добавить его в качестве действия для проекта развертывания:
Щелкните правой кнопкой мыши по проекту развертывания и выберите «Просмотр» -> «Пользовательские действия»
Щелкните правой кнопкой мыши «Установить и добавить настраиваемое действие»
- Дважды щелкните папку приложения
- Нажмите Добавить вывод и выберите выходные данные проекта Custom Action
- Щелкните правой кнопкой мыши на Commit и повторите («Add Custom Action», выберите выходные данные проекта Custom Action). Повторите для отката и при необходимости удалите.
Чтобы связать данные, введенные в мастере установки, с вашим кодом:
Для каждого пользовательского действия, определенного выше (в папке Install, папке Commit и т. Д.), Выберите элемент Custom Action. В окне «Свойства» заполните «Данные пользовательского действия». Например, я указал некоторые поля текстового поля в своем пользовательском интерфейсе, чтобы иметь значения Edit1Property и Edit2Property CONFIGURATION_SERVER и DATABASE_NAME. Чтобы сделать их доступными для моего кода пользовательского действия, мои CustomActionData установлены на:
/ cfgServer = [CONFIGURATION_SERVER] / dbName = [DATABASE_NAME]
Затем в моем коде я могу получить значения, ссылаясь на:
Context.Parameters [ "cfgServer"]
или же
Context.Parameters [ "DbName"]
(обе возвращают строки, содержащие все, что ввел пользователь).
Мой код выполняется во время установки, и я написал метод для изменения файла .CONFIG, в котором хранятся настройки приложения, чтобы использовать значения, указанные пользователем.