Я не знаю, почему вы используете два свойства. Если вы установите свойство CONNSEARCH с помощью registrySearch, оно проверит реестр и присвоит ему найденное там значение, если оно есть. Это происходит на этапе AppSearch задолго до того, как произойдет большинство пользовательских интерфейсов, где будет находиться ваше поле редактирования. Так что вам не нужно использовать SetProperty.
Вы хотите заполнить раздел реестра значением по умолчанию или ваше свойство значением по умолчанию?
Для свойства просто заполните атрибут Value элемента свойства, который использует поиск в реестре. Это будет по умолчанию, если в реестре ничего не найдено, как я сказал выше.
Это будет выглядеть так:
<</p>
<Property Id="CONNSEARCH" Value="DefaultValue">
<RegistrySearch Id="servconstr" Root="HKLM"
Key="Software\$(var.Manufacturer)\SERVICE" Name="SQL Server" Type="raw"></RegistrySearch>
</Property>
После Appsearch ваше свойство будет установлено, и если ваш элемент управления привязан к этому свойству, оно будет заполнено этим значением. Это также установит значение свойства по умолчанию равным «DefaultValue», если в реестре ничего нет.
Чтобы создать значение по умолчанию для ключа в реестре, я полагаю, просто поместите элемент registryKey / RegistryValue в компонент, который всегда будет установлен в этом сценарии, и установите для этого ключа значение по умолчанию, если вы не установите это где-то еще.
Лучший