свойства, прикрепленные к пользовательскому интерфейсу, не изменяются

#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».