Wix 使用RegistrySearch为不存在的目录设置目录不';行不通
我正在使用RegistrySearch设置一个属于我的目录的属性,我看到当注册表值为不存在的sub directory时,目录的值没有设置,这是为什么?Wix 使用RegistrySearch为不存在的目录设置目录不';行不通,wix,wix3,Wix,Wix3,我正在使用RegistrySearch设置一个属于我的目录的属性,我看到当注册表值为不存在的sub directory时,目录的值没有设置,这是为什么? 在我的例子中,如果目标目录不存在(而注册表仍然指向它),ROLESDIR将设置为空-->最终结果是RoleDir将直接安装在CONFDIR下 <Property Id="ROLESDIR"> <RegistrySearch Id="ROLESDIRRegistry" Type="directory" Root="HKLM"
在我的例子中,如果目标目录不存在(而注册表仍然指向它),ROLESDIR将设置为空-->最终结果是RoleDir将直接安装在CONFDIR下
<Property Id="ROLESDIR">
<RegistrySearch Id="ROLESDIRRegistry" Type="directory" Root="HKLM" Key="Software\DummyName\UCM" Name="ConfRolesDirectoryPath" />
</Property>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="SDIR">
<Directory Id="CONFDIR" Name="Conf">
<Directory Id="ROLESDIR" Name="Roles">
<Directory Id="RoleDir" Name="MyRole" />
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
你的问题不是很清楚 你能举一个注册表值的例子吗 我过去用过这个
<Property Id="INSTALLDIR">
<RegistrySearch Id="INSTALLDIRRegistry" Type="raw" Root="HKLM" Key="Software\Manufacturer\Product" Name="InstallDir" />
</Property>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="INSTALLDIR" Name="ProductName">
这将INSTALLDIR设置为注册表值中路径的位置。我认为在您的例子中,您正在尝试设置一个文件夹的路径,该文件夹已经有一个由wix代码定义的路径
你可能想试试这样的东西
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ROLESDIR" Name="Roles">
<Directory Id="RoleDir" Name="MyRole" />
</Directory>
<Directory Id="ProgramFilesFolder">
<Directory Id="SDIR">
<Directory Id="CONFDIR" Name="Conf" />
</Directory>
</Directory>
</Directory>
希望这有帮助您能否编辑您的问题以使其清晰?您似乎在说,在某些情况下,
ROLESDIR
未按预期设置,但我不清楚这些情况是什么。您的回答是正确的,出现问题的原因是我使用了目录类型,尽管没有记录该目录必须存在