Установщик MSI — сбой пользовательского параметра для каталога данных, если в структуре каталогов более одного уровня

#.net #installation #windows-installer

#.net #установка #windows-установщик

Вопрос:

Я создаю установщик MSI, в котором пользователь может выбрать каталог данных отдельно от пути установки. У меня есть строка пользовательского действия, как показано ниже, где Param1 — каталог данных.

/targetdir=»[TARGETDIR]» /Param1=»[EDITA1]»

Если пользователь вводит C:DataDirectory , затем параметр принимается программой установки, и значение передается моему пользовательскому методу переопределения установки, в котором создается каталог.

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

Почему это так?

Я не хочу ограничивать пользователя необходимостью размещать каталог на корневом уровне?

Ответ №1:

Понял, проблема была в пользовательской строке действия:

Изменить

/targetdir=»[TARGETDIR]» /Param1=»[EDITA1]»

Для

/targetdir=»[TARGETDIR]» /Param1=»[EDITA1]»

Косая черта в конце, казалось, что-то указывала установщику, где на самом деле я просто хотел, чтобы значение было передано прямо в мой пользовательский код

Надеюсь, это поможет другим