Как сделать Систему. Конфигурация. Установка. Установщик для получения переменной от проекта Установки?

У меня есть 2 проекта в моем решении

  1. Служба Windows

  2. Его проект Установки

Мне нужно это мой ProjectInstaller : System.Configuration.Install.Installerметод под названием OnAfterInstall для получения ProductName из Проекта Установки. Как я делаю это?

7
задан Jader Dias 14 January 2010 в 18:10
поделиться

1 ответ

В пределах вашей настройки проекта правой кнопкой мыши проект и выберите «Просмотр»> «Нестандартные действия». Добавьте пользовательские действия. Теперь выберите Добавить вывод, выберите свой проект веб-сервиса и нажмите OK.

Теперь выберите свой пользовательский доступ и установите свойство TabractyData , чтобы содержать что-то вроде / ProductionName = [Productname] / Ahateyyouwant = [Whateyyouwant] (обратите внимание, что это пары ключей ; то есть для доступа к имени продукта - это ключ и значение Productname ).

Обратите внимание, что CustomactionData содержит параметры, которые будут переданы в ваш класс установщика. Продавное значение - это имя свойства, связанному с помощью элемента управления входным управлением в диалоговом окне пользовательского интерфейса, и поэтому в вашем случае вам будет предложено пользователю имя продукта в установке YOR. Таким образом, этикетка «название продукта», и соответствующее свойство должно быть установлено как Productionname (очевидно, вы можете изменить это, но самое важное, что следует отметить, что имя свойства пользователей должно быть таким же, как имущество Имя в CustomactyData ) для этого примера для работы.

Теперь в классе установщика вы можете получить название продукта, выполняя

public override void Install(IDictionary stateSaver)
{
      // If you need to debug this installer class, uncomment the line below
      //System.Diagnostics.Debugger.Break();

       string productName = Context.Parameters["ProductName"].Trim();

       string whateveryouwant = Context.Parameters["whateveryouwant"].Trim();
}

Примечание

public override void Install(IDictionary stateSaver)
{
      // If you need to debug this installer class, uncomment the line below
      //System.Diagnostics.Debugger.Break();

       string productName = Context.Parameters["ProductName"].Trim();

       string whateveryouwant = Context.Parameters["whateveryouwant"].Trim();
}

Примечание. Я включал комментарий // System.diagnostics.debugger.break (); , которые вы можете прокомментировать, чтобы вы может отладить класс установщика.

Надеюсь, это поможет.

8
ответ дан 7 December 2019 в 05:23
поделиться