Я искал в Интернете ответ по этой проблеме с поиском в реестре.
У меня есть файл wix большего размера, но я не мог заставить работать несколько функций и их кондиционирование, поэтому я создал базовый тестовый документ wix, чтобы понять функции wix, но не могу получить требуемый результат.
Код выглядит следующим образом:
<Property Id="BASICTEST" Secure="yes" >
<RegistrySearch Id="_Regsearch_Basic" Root="HKLM"
Key="SOFTWARE\TGSL\BasicInstaller" Name="BASIC1" Type="raw" >
</RegistrySearch>
</Property>
<Property Id="BASICTEST1" Secure="yes" >
<RegistrySearch Id="_Regsearch_Test" Root="HKLM"
Key="SOFTWARE\TGSL\BasicInstaller" Name="TEST1" Type="raw" >
</RegistrySearch>
</Property>
<Feature Id="BasicFeature" Title="BasicFeat" Level="0">
<Condition Level="1">NOT (BASICTEST="0")</Condition>
<ComponentRef Id="BasicTest"/>
</Feature>
<Feature Id="TestFeature" Title="TestFeat" Level="0" >
<Condition Level="1">NOT (BASICTEST1="0") </Condition>
<ComponentRef Id="BasicTest1"/>
</Feature>
Я установил четыре записи реестра, все значения равны 1 (BASIC1 = 1 и TEST1 = 1), чтобы проверить, какой реестр он использует (либо 2 в SOFTWARE \ TGSL \ BasicInstaller для 64-битной версии, либо 2 в SOFTWARE \ TGSL \ BasicInstaller для 32-битной версии)
Я знаю, что по умолчанию используется 32-битная версия, если не указано иное, но все равно ничего. Я использовал монитор процесса, чтобы проверить, читал ли мой файл .msi реестр ... а это не так.
Я создал файл журнала при установке .msi и получаю код ошибки при чтении реестра:
Поиск приложений: Свойство: BARRIETEST, Подпись: _Regsearch_BarrieTest1
Примечание: 1: 2262 2: Подпись 3: -2147287038
Примечание: 1: 1402 2: HKEY_LOCAL_MACHINE32 \ SOFTWARE \ TGSL \ BasicInstaller 3: 2
Код ошибки не находит файл, но похоже, что он ищет в каталоге, которого не существует, и когда я меняю его на win64 = "yes", он убирает 32 после HKEY_LOCAL_MACHINE.
Я попытался создать этот тестовый сценарий в wix 2.0, и он отлично просматривает реестр и меняет свойство на значение ключа реестра «1», поэтому я в затруднительном положении, что я делаю не так?
Есть ли разница между параметрами поиска в реестре между wix 2.0 и wix 3.5?
Может ли кто-нибудь предложить возможное исправление или как я могу заставить эти функции работать?
Пожалуйста, помогите ... заранее спасибо