Как я могу использовать вход из диалогового окна установщика в качестве переменной для части файловой системы DefaultLocation - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть файл, который я хочу поместить в определенную папку на основе данных, введенных пользователем во время работы мастера установки.Я уже добавил диалоговое окно переключателя после диалогового окна приветствия с параметрами и значениями.ButtonProperty этого диалогового окна имеет значение REVITINSTALLYEAR.Я хочу получить доступ к значению выбранной кнопки и использовать это значение для определения местоположения, в котором я устанавливаю один из моих файлов, как показано ниже:

DefaultLocation: [CommonAppDataFolder] \ Autodesk \ Revit \ Addins [REVITINSTALLYEAR]

Возможно ли это, и если да, может ли кто-нибудь указать мне правильное направление?

1 Ответ

0 голосов
/ 01 марта 2019

Вот как я только что сделал нечто подобное:

Создайте класс установщика в отдельном проекте и переопределите метод Installer -

[RunInstaller(true)]
public partial class CustomInstaller : System.Configuration.Install.Installer
{
    public override void Install(System.Collections.IDictionary stateSaver)
    {
        base.Install(stateSaver);
        string myVar = Context.Parameters["ParamName"];
        ........
    }
}

Создайте этот проект и добавьте полученный результатdll к установщику с помощью настраиваемого действия («Редактор» -> «Настраиваемые действия», щелкните правой кнопкой мыши «Установить и добавить настраиваемое действие»).

В свойствах настраиваемого действия установите значение элемента CustomActionData:

/ ParamName = [REVITINSTALLYEAR]

Затем в классе CustomInstaller во время выполнения myVar будет равно значению в REVINTINSTALLYEAR, и вы можете использовать его для установки значения DefaultLocation в методе Install.

Я нашел эту статью , а также Свойство данных настраиваемых действий , полезное при разработке способа получения значения из диалогового окна и его использования.

...