В настоящее время я настроил Wix_InstallDirDlg, чтобы пользователь мог установить раздел реестра при установке.Существует специальное диалоговое окно, которое отображается после обоих InstallDirDlg и MaintenanceTypeDlg, так что оно обслуживает как сценарии установки, так и восстановления.
Пользовательское диалоговое окно имеет одно текстовое поле, связанное со свойством.Это свойство имеет поиск в реестре, так что если пользователь восстанавливает или обновляет предыдущее значение, оно сохраняется и поэтому отображается в настраиваемом диалоговом окне для проверки пользователем.Диалоговое окно отлично работает при установке и ключ реестра создан.Однако при восстановлении появляется настраиваемое диалоговое окно с правильным введенным значением реестра (поэтому RegistrySearch работает), но когда восстановление завершено, значение ключа остается пустым.
<Property Id='SERVER_LISTEN_URL'>
<RegistrySearch Id='ServerListenUrlRegSearch' Root='HKLM'
Key='SOFTWARE\$(var.Manufacturer)\$(var.Name)'
Name='ServerListenUrl'
Type='raw' Win64='no' />
</Property>
<Component Id="RegistryEntries" Guid="0234974B-6158-4312-90A7-56869809B42E">
<RegistryKey Id="ServerRegKey"
Root="HKLM"
Key='SOFTWARE\$(var.Manufacturer)\$(var.Name)'
Action='createAndRemoveOnUninstall'>
<RegistryValue Id="ServerListenUrlRegVal"
Name='ServerListenUrl'
Value='[SERVER_LISTEN_URL]'
KeyPath='yes'
Type='string' />
</RegistryKey>
</Component>
<Dialog Id="SettingsDlg">
<Control Id="ListenUrl" Type="Edit" X="20" Y="100" Width="320" Height="18" Property="SERVER_LISTEN_URL" Indirect="no" />
</Dialog>
Что я сделал не так?