В проекте настройки щелкните правой кнопкой мыши проект и выберите «Просмотр»> «Пользовательские действия». Добавьте пользовательское действие. Теперь выберите «Добавить вывод», выберите проект веб-службы и нажмите «ОК».
Теперь выберите свое настраиваемое действие и задайте для свойства CustomActionData
что-то вроде /ProductName=[PRODUCTNAME] /whateveryouwant=[Whateveryouwant]
(обратите внимание, что это пары ключ-значение; т. Е. Для доступа к названию продукта, ProductName
- это ключ, а значение - PRODUCTNAME
).
Обратите внимание, что CustomActionData
содержит параметры, которые будут переданы вашему классу установщика. PRODUCTNAME
- это имя свойства, связанное с элементом управления вводом в диалоговом окне пользовательского интерфейса, и поэтому в вашем случае вы предложите пользователю ввести Имя продукта в программе установки. Таким образом, метка «Product Name» и соответствующее свойство должно быть установлено как PRODUCTNAME
(очевидно, вы можете изменить это, но самое важное, что нужно отметить, это то, что имя свойства пользовательского интерфейса должно совпадать с именем свойства в CustomActionData
) чтобы этот пример работал.
Теперь в вашем классе установщика вы можете получить название продукта, выполнив
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();
, который вы можете комментировать, чтобы вы могли отлаживать класс установщика.
надеюсь, это поможет.