Я искал в Интернете ответ на эту проблему поиска в реестре.
У меня есть файл 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 в ПРОГРАММНОМ ОБЕСПЕЧЕНИИ \ TGSL \ BasicInstaller для 64-разрядных, либо 2 в ПРОГРАММНОМ ОБЕСПЕЧЕНИИ \ TGSL \ BasicInstaller для 32-разрядных)
Я знаю, что по умолчанию используется 32-разрядная версия, если не указано иное, но все равно ничего.Я использовал монитор процесса, чтобы проверить, читает ли мой MSI-файл реестр ... что это не так.
Я создал файл журнала при установке MSI и получаю код ошибки при чтении реестра:
AppSearch: Свойство: 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?
Кто-нибудь может предложить возможное исправление или как я могу заставить эти функции работать?
Пожалуйста, помогите ... заранее спасибо