Пошаговое руководство. Использование настраиваемого действия для отображения сообщения при установке

В следующем пошаговом руководстве демонстрируется использование настраиваемого действия для получения данных от пользователя и передачи их в окно сообщения, которое появляется при установке. Это простая демонстрация возможностей настраиваемых действий, которые могут оказаться полезны для многих других задач. Например, настраиваемое действие может получить в качестве данных от пользователя местоположение файла Setup.exe и использовать его для запуска приложения после его установки.

Данное пошаговое руководство демонстрирует, как с помощью настраиваемого действия передать данные динамическому свойству, а также как использовать класс установщика и свойство CustomActionData.

Примечание

На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

Чтобы создать настраиваемое действие

  1. В меню Файл последовательно выберите пункты Создать и Проект.

  2. В диалоговом окне Новый проект выберите пункт Проекты Visual Basic в области Типы проектов, затем в области Шаблоны выберите пункт Библиотека классов. В поле Имя введите PassData.

    Проект будет добавлен в Обозреватель решений.

Чтобы создать класс установщика

  1. В меню Проект выберите команду Добавить класс.

    В диалоговом окне Добавление нового элемента выберите пункт Класс установщика. Примите имя по умолчанию.

  2. Когда класс установщика появится в области конструктора, щелкните правой кнопкой мыши в области конструктора и выберите команду Просмотреть код для просмотра содержимого файла в редакторе кода.

  3. Добавьте следующую процедуру, чтобы переопределить процедуры базового класса Install, Commit, Rollback и Uninstall.

    Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)
        MyBase.Install(stateSaver)
        Dim myInput As String = Me.Context.Parameters.Item("Message")
        If myInput Is Nothing Then
            myInput = "There was no message specified"
        End If
        MsgBox(myInput)
    End Sub
    
    Public Overrides Sub Commit(ByVal savedState As System.Collections.IDictionary)
        MyBase.Commit(savedState)
    End Sub
    
    Public Overrides Sub Rollback(ByVal savedState As System.Collections.IDictionary)
        MyBase.Rollback(savedState)
    End Sub
    
    Public Overrides Sub Uninstall(ByVal savedState As System.Collections.IDictionary)
        MyBase.Uninstall(savedState)
    End Sub
    
    public override void Install(System.Collections.IDictionary stateSaver)
    {
        base.Install(stateSaver);
        string myInput = Context.Parameters["message"];
        if (myInput == null)
        {
            myInput = "There was no message specified";
        }
        MessageBox.Show(myInput);
    }
    
    public override void Commit(IDictionary savedState)
    {
        base.Commit(savedState);
    }
    
    public override void Rollback(IDictionary savedState)
    {
        base.Rollback(savedState);
    }
    
    public override void Uninstall(IDictionary savedState)
    {
        base.Uninstall(savedState);
    }
    

    Примечание

    Если ввести Public Overrides, а затем нажать пробел, IntelliSense предоставит список методов и свойств; чтобы сформировать полное объявление выберите из списка Установка.

  4. В обозревателе решений щелкните правой кнопкой мыши файл кода Class1.vb и выберите команду Удалить (этот файл не нужен).

Создание проекта развертывания

  1. В меню Файл выберите команду Добавить, затем выберите пункт Создать проект.

  2. В диалоговом окне Добавление нового проекта, в области Типы проектов разверните узел Другие типы проектов и выберите Установка и развертывание, а затем выберите Проект установки в области Шаблоны. В поле Имя введите строку "PassData Installer".

  3. В окне Свойства выберите свойство ProductName и введите PassData.

    Кроме того, выберите свойство Manufacturer и введите My Company.

  4. В Редакторе файловой системы выберите узел Папка приложения. В меню Действие выберите пункт Добавить, а затем щелкните Выходные данные проекта.

  5. В диалоговом окне Добавление выходной группы проекта выберите основной выходной файл проекта PassData.

    Основной выходной файл проекта PassData (Active) появится в Редакторе файловой системы.

Чтобы добавить настраиваемое действие

  1. Выберите проект Установщик PassData в обозревателе решений. В меню Вид выберите пункт Редактор, а затем пункт Настраиваемые действия.

  2. В Редакторе настраиваемых действий выберите узел верхнего уровня Установка. В меню Действие выберите пункт Добавить настраиваемое действие.

  3. В диалоговом окне Выбор элемента в проекте щелкните дважды пункт Папка приложения.

  4. Выберите Основные выходные файлы из PassData (Active), чтобы добавить настраиваемое действие PassData в узел "Установить".

  5. В окне Свойства, выберите свойство CustomActionData и введите /Message="[СООБЩЕНИЕ]".

  6. Убедитесь, что свойство InstallerClass имеет значение True (это значение по умолчанию).

Чтобы настроить пользовательский интерфейс для установки

  1. Выберите проект установки в обозревателе решений. В меню Вид выберите Редактор, а затем щелкните Пользовательский интерфейс.

  2. В окне Редактор пользовательского интерфейса выберите узел Начало под узлом Установка. В меню Действие выберите команду Добавить диалоговое окно.

  3. В диалоговом окне Добавление диалогового окна выберите диалоговое окно Текстовые поля (А).

  4. В меню Действие выберите команду Вверх. Нажимайте кнопку до тех пор, пока диалоговое окно Текстовые поля (A) не окажется выше узла Папка установки.

  5. В окне Свойства выберите свойство BannerText и введите следующий текст:

    Каково Ваше сообщение?

  6. Выберите свойство BodyText и введите следующий текст:

    Введите ваше сообщение.

  7. Выберите свойство Edit1Label и наберите следующий текст:

    Сообщение:

  8. Выберите свойство Edit1Property и введите следующий текст:

    MESSAGE

  9. Выберите свойства Edit2Visible, Edit3Visible и Edit4Visible и задайте для них значение False.

  10. В меню Построение выберите команду Построить установщик Pass Data.

Чтобы выполнить установку на компьютере разработчика

  • Выберите проект Установщик PassData в обозревателе решений. В меню Проект выберите пункт Установка.

    При этом на компьютере разработчика будет запущен установщик. В диалоговом окне установки Каково Ваше сообщение? введите Hello World!..

    Примечание

    Для запуска установщика требуются разрешения на установку программ на данном компьютере.

Чтобы выполнить развертывание на другом компьютере

  1. В Проводнике перейдите в каталог проекта и найдите построенный установщик. По умолчанию КонфигурацияПроекта ― либо Отладка, либо Выпуск.

  2. Скопируйте файл Установщик PassData.msi, все остальные файлы и вложенные папки в папку на другом компьютере.

    Примечание

    Для установки на компьютер, не подключенный к сети, скопируйте файлы на традиционный носитель, например на компакт-диск.

    На конечном компьютере дважды щелкните файл Setup.exe, чтобы запустить установщик. В диалоговом окне установки Каково Ваше сообщение? введите Hello World!..

    Примечание

    Для запуска установщика требуются разрешения на установку программ на данном компьютере.

Чтобы проверить установку

  • Запустите приложение и убедитесь, что текстовое поле содержит текст "Hello World!", который был введен в процессе установки.

Чтобы удалить приложение

  1. В Панели управления Windows дважды щелкните пункт Установка и удаление программ или Программы и компоненты.

  2. Выберите Установщик PassData и нажмите кнопку Удалить и затем ОК, чтобы закрыть диалоговое окно.

    Совет

    Чтобы удалить приложение с компьютера разработки в меню Проект выберите команду Удалить.

См. также

Ссылки

Свойство CustomActionData

Другие ресурсы

Управление настраиваемыми действиями при развертывании