Вопрос

У меня есть последовательность SetProperty действий, которые зависят друг от друга. Вот упрощенный пример:

<SetProperty Id="A" Before="AppSearch" Value="Hello" />
<SetProperty Id="B" Before="AppSearch" Value="[A] world!" />

Свойство A необходимо установить перед свойством B в этом случае, чтобы значение B становилось «Hello world!».

Поскольку WiX не определяет атрибут для установки имени настраиваемого действия в этом случае У меня нет имени для использования в атрибутах До или После .

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

Как правильно установить порядок пользовательских действий SetProperty ?

Это было полезно?

Решение

Вы также можете использовать & # 8220; Действие & # 8221; Атрибут элемента SetProperty, чтобы записать имя настраиваемого действия. Это становится необходимым, если вы хотите установить одно и то же свойство в двух разных действиях SetProperty, так как оно удаляет неоднозначные & # 8220; SetXXX & # 8221; имена действий.

Например:

<SetProperty Id="A" Action="MyFirstAction" Before="AppSearch" Value="Hello" />
<SetProperty Id="B" Action="MySecondAction" After="MyFirstAction" Value="[A] world!" />
<SetProperty Id="A" Action="MyThirdAction" After ="MySecondAction" Value="Goodbye cruel world!" />

Другие советы

Я использовал orca , чтобы обнаружить имена, сгенерированные для пользовательских действий. Они оказываются SetA и SetB . Следующее делает то, что я хочу:

 <SetProperty Id="A" Before="AppSearch" Value="Hello" />
 <SetProperty Id="B" After="SetA" Value="[A] world!" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top