Для построения msi файла установки используется WIX 2.0.2613.0.
Необходимо в процессе подготовки к установке предоставить пользователю возможность ввести некоторый параметр конфигурации устанавливаемой программы. Для этого создан диалог содержащий edit для ввода, с property указаным в качестве value при добавлении в реестр.
Проблема:
Если Property связать с Edit Control и с Value для Registry, введенное значение в реестр не попадает.
Далее основные моменты WXS файла:
<Product ...>
<Package ... />
<Property Id="Some_Property">Default Value</Property>
...
<Directory Id="TARGETDIR" Name="SourceDir">
...
<Component Id="WPMCClient" Guid="11111111-1111-1111-1111-111111111111">
...
<Registry Id="some_id" Root="HKLM" Key="SYSTEM\...\SomeKey" Name="SomeParam" Type="string" Value="[Some_Property]"/>
...
</Component>
...
</Directory>
<UI>
<Dialog Id="Dlg1"...>
<Control Id="ParamEdit" Type="Edit" ... Property="Some_Property" />
</Dialog>
<Dialog Id="Dlg2"...>
<Control Id="ParamText" Type="Text" ...>
<Text>Param: [Some_Property]</Text>
</Control>
</Dialog>
...
</UI>
</Product>
Dlg2 показывается после Dlg1 и Control с Id="ParamText" содержит корректное значение введенное в ParamEdit.
Но при добавлении в реестр Value для Registry всегда устанавливается в "Default Value" и не изменяется после ввода в диалог. Каким образом заставить заносить правильное значение в реестр
Проблема была в имени для property.
После замены имени на "EDIT1" проблема решилась.
К сожалению объяснения такого поведения пока не нашел.