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

blu*_*eys 3 registry wix relative-path

这给我留下了\ Default.udl

<RegistryKey Key="Software\My Company\Product\Connections" Root="HKCU">
  <RegistryValue Name="Default" Value="[INSTALLLOCATION]\Default.udl" Type="string" />
</RegistryKey>
Run Code Online (Sandbox Code Playgroud)

我想要像C:\ Program Files\Company\Product\Default.udl这样的东西

Dav*_*sen 6

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

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

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="CompanyFolder" Name="My Company">
      <Directory Id="INSTALLLOCATION" Name="Product">
      </Directory>
    </Directory>
  </Directory>
</Directory>
Run Code Online (Sandbox Code Playgroud)

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

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

<RegistryValue Name="Default" Value="[#Default.udl]" Type="string" />
Run Code Online (Sandbox Code Playgroud)