У меня есть установщик Windows, запрашивающий у пользователя информацию MySQL (сервер, порт, имя пользователя, пароль), и я хотел бы убедиться, что параметры верны до завершения установки.
У меня есть проект установщика с пользовательскими действиями, связанными с классом установщика, и я выполняю там проверку на наличие ошибок в методе «Install». Моя ошибка происходит в части catch()
.
Любые предложения или комментарии с благодарностью.
Редактировать: Когда я нажимаю [Далее], установщик устанавливает приложение и затем запрашивает MessageBox (если есть ошибка), но завершает установку. Я надеялся на то, что он откроется и откроет предыдущий экран.
Edit2: исключение, пойманное из MySqlException: «Невозможно подключиться к любому из указанных хостов MySQL», что правильно, но программа установки не возвращает / откатывает.
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
// parameters from installer
// generate connection string conStr
MySqlConnection conn = new MySqlConnection(conStr);
MySqlCommand cmd = new MySqlCommand();
// open connection and create database
try
{
conn.Open();
cmd.Connection = conn;
// create database
// create table
// insert values to test
}
catch (MySqlException ex)
{
//I would like this to go back to the prior page
//where it asks for user input
MessageBox.Show("There was a problem connecting to the database.");
this.Rollback(stateSaver); // not working?
}
// close connection
conn.Close();
}