2016-03-04 1 views
0

Могу ли я использовать утилиту RegistrySearch для извлечения пути из раздела реестра и использовать этот путь в утилите: FileSearch, чтобы проверить, существует ли файл в этом каталоге?WiX Bootstrapper: используйте утилиту: RegistrySearch result as path in util: FileSearch?


Пример

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

HKLM\Software\MyApp\ -> C:\Program Files (x86)\MyApp\MyApplication.exe

и я хочу использовать в качестве обнаружения состояния, если другой файл в этом каталоге: существует (например .: C \ Program Files (x86) \ MyApp \ AnotherFile.dll).

<util:RegistrySearch Id="SearchForMyApp" 
        Variable="MyApp_Found" 
        Root="HKLM" 
        Key="SOFTWARE\MyApp" 
        Result="exists" 
        Win64="no" 
        After="SearchForOtherFile" 
        /> 

<util:FileSearch Id="SearchForOtherFile" 
       Variable="OtherFile_Found" 
       Result="exists" 
       Path="AnotherFile.dll" Comment="<-- how to use path from reg search here" 
       /> 

ответ

0

да вы можете.

Используйте атрибуты «После», чтобы определить, какой должен быть после. http://wixtoolset.org/documentation/manual/v3/xsd/util/registrysearch.html

+0

, но затем я могу искать только файл по пути, который я определяю, не так ли? как я могу использовать путь, найденный поиском в реестре? (я обновил вопрос с примера) – keinkoenig

+0

Поместите поиск в регистре внутри элемента свойства, а затем используйте свойство внутри поиска файла. Проверьте, например: http://wixtoolset.org/documentation/manual/v3/howtos/files_and_registry/read_a_registry_entry.html –

+0

во-первых, реестр содержит путь, включающий имя файла, все еще работает? второй, мне нужен он для загрузчика (util :: RegistrySearch), а не msi https://stackoverflow.com/questions/18419006/registrysearch-vs-utilregistrysearch-in-burn – keinkoenig

Смежные вопросы