如何设置相对于安装路径的WiX RegistryValue

时间:2011-11-04 10:20:41

标签: wix registry install relative

这给我留下了\ Default.udl

<RegistryKey Key="Software\My Company\Product\Connections" Root="HKCU">
  <RegistryValue Name="Default" Value="[INSTALLLOCATION]\Default.udl" Type="string" />
</RegistryKey>

我想要像C:\ Program Files \ Company \ Product \ Default.udl

这样的东西

2 个答案:

答案 0 :(得分:6)

我可以想到一些可能导致问题的事情。

您确定您的目录布局是否正确?看起来应该是这样的:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="CompanyFolder" Name="My Company">
      <Directory Id="INSTALLLOCATION" Name="Product">
      </Directory>
    </Directory>
  </Directory>
</Directory>

我认为HKCU配置单元仅用于每用户安装,但您指定的路径位于Program Files下。您可能需要查看Installation Context documentation以了解每用户和每台计算机的安装之间的差异。在某些版本的Windows中,ProgramFilesFolder在每用户模式下具有不同的值。

或者,如果安装程序正在放置Default.udl文件,则可以使用[#filekey] syntax直接指向该文件。

<RegistryValue Name="Default" Value="[#Default.udl]" Type="string" />

答案 1 :(得分:0)

而不是INSTALLLOCATION使用TARGETDIR