У меня есть 2 проекта в моем решении
Служба Windows
Его проект Установки
Мне нужно это мой ProjectInstaller : System.Configuration.Install.Installer
метод под названием OnAfterInstall для получения ProductName
из Проекта Установки. Как я делаю это?
В пределах вашей настройки проекта правой кнопкой мыши проект и выберите «Просмотр»> «Нестандартные действия». Добавьте пользовательские действия. Теперь выберите Добавить вывод, выберите свой проект веб-сервиса и нажмите 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 ();
, которые вы можете прокомментировать, чтобы вы может отладить класс установщика.
Надеюсь, это поможет.