#properties #wix #windows-installer #custom-action
#свойства #wix #windows-установщик #пользовательское действие
Вопрос:
В моем установочном пакете WiX я определяю свойство, затем определяю текстовое поле, которое использует это свойство, затем передаю это свойство своему пользовательскому действию. Но внутри пользовательского действия я обнаруживаю, что свойство имеет значение по умолчанию, а не то, которое я указал в текстовом поле. Как я могу это исправить?
<Property Id="DataSource" Value="."/>
<Control Id="DataSourceText" Type="Edit" Text="." Height="17" Width="150" X="200" Y="18" Property="DataSource"/>
затем позже в коде
<CustomAction Id="SetCustomActionDataValue" Return="check" Property="CreateDatabase" Value="DataSource=[DataSource]" />
<CustomAction Id="CreateDatabase" BinaryKey="Binary1" DllEntry="CreateDatabase" Execute="deferred" Return="ignore"/>
<InstallExecuteSequence>
<Custom Action='SetCustomActionDataValue' After="InstallFiles"/>
<Custom Action='CreateDatabase' After="SetCustomActionDataValue">NOT Installed AND NOT PATCH</Custom>
</InstallExecuteSequence>
Ответ №1:
Любые свойства, которые вы собираетесь изменять в последовательности пользовательского интерфейса и использовать в последовательности выполнения, должны быть защищенными пользовательскими свойствами.
Комментарии:
1. Спасибо, это сработало. Я сделал свое свойство прописным и добавил атрибут Secure = «yes».