Что произойдет, если вы измените RegistrySearch
на это:
<Property Id="FileTest">
<RegistrySearch Id="FileSearchResult"
Key="SOFTWARE\Company\Product"
Name="DLLPath"
Root="HKLM"
Type="file">
<FileSearch LongName="[FileSearchResult]"
MinVersion="1.2.3.4" />
</RegistrySearch>
</Property>
Я думаю, что наличие FileSearch в качестве идентификатора и фактического элемента wix вызывает у вас проблемы. Если вы меняете идентификатор на что-то вроде FileSearchResult
, а затем ссылаетесь на него в атрибуте Name
(или безопаснее, LongName
) элемента FileSearch
(заключая его в квадратные скобки, []
), тогда он должен работать. Я не прикасался к wix около 6 месяцев, поэтому не даю обещаний;)
ПРИМЕЧАНИЕ. Квадратные скобки - это способ, которым Wix UtilExtensions (как видно из в этом примере ) идентифицируют результат RegistrySearch
, сохраненный в атрибуте variable
. Это может быть не так для доступа к Id
, содержащему результат в стандартном wix.
ПРИМЕЧАНИЕ 2. На самом деле вам может понадобиться использовать элемент RegistrySearchRef
в качестве родительского для элемента FileSearch
. Взгляните на в этом примере (хотя он использует один результат DirectorySearch
элемента в другом DirectorySearch
). Надеюсь, это может дать вам достаточно для продолжения.