Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Как правильно остановить инсталляцию?


Автор: evgenybe 13.11.2011, 12:53
Мой код Setup работает вроде правильно. Но криво и некрасиво.

Код такой (в классе Installer):

        
Код

protected override void OnBeforeInstall(IDictionary savedState)
        {
            mCurrSaveState = savedState;
            base.OnBeforeInstall(savedState);
            frmUserData frm = new frmUserData();
            frm.BringToFront();
            frm.ShowDialog();
            frm.Focus();
            string s = frm.sOrderID;
            MessageBox.Show(s);
            frm.Close();
            if (s != "123456")
            {
                MessageBox.Show("Установка отменена вследствие неуплаты");
                Process.GetCurrentProcess().Kill();
            }

//            base.Uninstall(savedState);
        }


А претензии следующие:
1. Вызываемая форма для ввода данных, несмотря на             
            [SRC c#]frm.BringToFront();
            frm.ShowDialog();
            frm.Focus();[/SRC]
  открывается сзади окна инсталляции и ее пользователю не видно. Как сделать, чтобы форма появлялась поверх окна Setup? 

2. Если форма вернула "123456" - все нормально. В противном случае, в окне Setup дважды выводится сообщение об ошибке "Error 1001. Could not find file 'C:\Program File\DefaultCompanyName\MyTestSetup.InstalState". Как это подавить, или, по крайней мере, вывести свое, более понятное сообщение (в зависимости от ситуации, которых может быть несколько)?

3. В случае прерывания инсталляции командой Process.GetCurrentProcess().Kill(), в конце процесса инсталляции выводится сообщение "The installer was interupted before MyTestSetup could be installed. You need restart the installer to try again". В принципе сообщение верное, но пользователю непонятное. Как заменить его на нечто более понятное (см. предыдущий пункт), и, желательно, на русском языке?

Спасибо!
Евгений Боуден

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)