Мне нужно создать установщик для веб-проекта в VS с Проекты установщика Microsoft Visual Studio 2015, где пользователь, выполняющий установку, установщик запросил данные подключения к базе данных с двумя текстовыми полями, в этих двух текстовых полях мне нужен пользователь через «Тестовое соединение» кнопку, чтобы проверить это соединение, прежде чем пользователь перейдет к следующему шагу установки.
Как я могу нажать эту кнопку в установщике и применить логику для проверки правильности подключений, введенных пользователем в установщике?
выглядит как
спасибо большое, я новичок в этом
я использую Visual Studio 2015 Proffessional





В проектах установки Visual Studio нет поддержки для проверки пользовательского ввода в этой последовательности пользовательского интерфейса. Другими словами, проекты установки VS не поддерживают вызовы настраиваемых действий из последовательности пользовательского интерфейса (хотя другие инструменты поддерживают).
Обычно этот тип вещей делегируется настройке, но на практике часто лучше просто позволить приложению установить, а затем заставить приложение выполнить настройку и любое тестирование IP-адресов. В конце концов, я сомневаюсь, что для установки нужен этот IP-адрес, он нужен приложению.
Кроме того, может потребоваться изменить IP-адрес или имя пользователя и пароль. И если вы на самом деле ввели имя пользователя и пароль в это диалоговое окно, в настройках VS нет поддержки для защиты этих данных, поэтому пароль отображается.
Я согласен с Фил, но я просто подумал: если нет приложения для запуска (если вы развертываете веб-приложение), то, возможно, вы можете просто сделать себе небольшой launcher.exe, который подталкивает командную строку к msiexec.exe (механизм установки установщика Windows ) с необходимыми данными, а затем начать установку в автоматическом режиме, избегая всех проблем и сложностей с графическим интерфейсом настройки?
Таким образом, ваша программа запуска EXE будет выполнять весь графический интерфейс (знакомая территория), а вы просто запускаете саму установку в автоматическом режиме, нажимая командную строку в следующих строках:
msiexec.exe /i Setup.msi /QN /L*V "C:\msilog.log" USER = "User" PASSWORD = "Pass" IP = "0.0.0.0" REBOOT=ReallySuppress
Я не очень хорошо знаком с этим типом проекта - я предполагаю, что launcher.exe конфликтует с обязательной программой запуска setup.exe, которая уже существует для проектов установки? Тот, который скачивает и устанавливает предварительные требования?
Возможно, вы могли бы зашифровать пароль в вашем launcher.exe и добавить настраиваемое действие в отложенном режиме в MSI, которое расшифрует данные конфигурации и запишет их куда-нибудь. Я полагаю, что в идеале вы должны использовать аутентификацию NT - избегая всей проблемы с паролем / именем пользователя.
В целом я бы рекомендовал использовать WiX вместо этих проектов установки. Несмотря на свою сложность, WiX полностью поддерживает все виды функций - даже если графический интерфейс всегда сложен, когда дело касается MSI. ОБНОВИТЬ: Я также должен добавить, что WiX имеет свою собственную функцию запуска / загрузчика / цепочки под названием Гореть. Он в основном поддерживает запуск файлов MSI в автоматическом режиме из графического интерфейса, который вы создаете сами (или используете по умолчанию) - во многом так, как я описал выше (с гораздо большим количеством дополнительных функций). Может заглянуть в раздел "Комплекты монтажных пакетов здания".
Спасибо за ваш ответ, вы правы, эти конфигурации не очень часто встречаются в конфигурации установщика, однако установщик после установки изменяет web.config и заменяет цепочки соединений на те, которые представлены в конфигурации PANE, затем они будут применяться только один раз (в этом случае нужно будет создать графический интерфейс, в котором пользователь может редактировать цепочки соединений) в случае, если параметры не работают