在Wix中使用registrysearch时未读取注册表

在Wix中使用registrysearch时未读取注册表,wix,wix3.5,Wix,Wix3.5,我一直在互联网上搜索关于注册表搜索问题的答案 我有一个更大的wix文件,但我不能得到多个功能的工作和它的功能条件,所以我已经创建了一个基本的测试wix文件,以了解wix的功能,但不能得到我需要的结果 代码如下: <Property Id="BASICTEST" Secure="yes" > <RegistrySearch Id="_Regsearch_Basic" Root="HKLM" Key="SOFTWARE\TGSL\BasicInstaller" Name

我一直在互联网上搜索关于注册表搜索问题的答案

我有一个更大的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>

非(基本测试=“0”)
不是(基本测试1=“0”)
我已经设置了四个注册表项,所有值都是1(BASIC1=1和TEST1=1),以测试它使用的注册表(在SOFTWARE\TGSL\BasicInstaller中2个用于64位,在SOFTWARE\TGSL\BasicInstaller中2个用于32位)

我知道它默认为32位,除非另有说明,但仍然没有。我正在使用进程监视器来测试我的.msi文件是否正在读取注册表…它不是

我在安装.msi时创建了一个日志文件,在读取注册表时收到一个错误代码:

AppSearch:属性:BARRIETEST,签名:\u Regsearch\u BarrieTest1

注:1:2262:2:签名3:-2147287038

注:1:1402 2:HKEY_LOCAL_MACHINE32\SOFTWARE\TGSL\BasicInstaller 3:2

错误代码没有找到该文件,但它看起来像是在一个不存在的目录中查找,当我将其更改为win64=“yes”时,它会在HKEY_LOCAL_计算机之后删除32

我曾尝试在wix 2.0中构建此测试脚本,它会很好地搜索注册表,并将属性更改为注册表项“1”的值,因此我对我做错了什么感到困惑

wix 2.0和wix 3.5之间的注册表搜索参数是否存在差异

有谁能建议一个可能的修复方案,或者我如何让这些功能正常工作


请帮助…提前感谢关闭,如问题注释所示,这是一个权限问题,运行安装程序的用户没有足够的权限访问HKEY_LOCAL_机器。

如问题注释所示,关闭,这是一个权限问题,运行安装程序的用户没有足够的权限访问HKEY_LOCAL_计算机。

我在测试服务器和虚拟机上测试了此示例,效果良好……这是否意味着它可能是我正在使用的visual studio版本(im使用vs 2010)??我的主机正在运行windows 7,如果这也有帮助的话??请尝试禁用您的防病毒软件。这也可能是因为缺少读取这些注册表项的权限。您是否以管理员身份运行安装程序?是的,visual studio已以管理员身份运行,我将尝试关闭防病毒以查看是否有帮助:)我已在测试服务器和虚拟机上测试了此示例,效果良好…这是否意味着它可能是我正在使用的visual studio版本(im使用vs 2010)??我的主机正在运行windows 7,如果这也有帮助的话??请尝试禁用您的防病毒软件。这也可能是因为缺少读取这些注册表项的权限。您是否以管理员身份运行安装程序?是的,visual studio已经以管理员身份运行,我将尝试关闭防病毒以查看是否有帮助:)嗯,将安装程序提升为管理员似乎不是一个好主意,是否有解决此问题的方法?嗯,将安装程序提升为管理员似乎不是一个好主意,有没有解决这个问题的办法?