WiX:如何将我的某些产品组件安装到另一个产品目录中?

时间:2013-11-20 23:16:45

标签: wix wix3.5

我正在尝试将DLL安装到另一个产品目录中。我通过执行以下RegistrySearch找到目录:

<Property Id="CUSTOMPATH">
  <RegistrySearch Id="CustomPath"
                  Root="HKLM"
                  Key="SOFTWARE\Wow6432Node\XXXXX\XXXXX\XXXX"
                  Name="MY Install Path"
                  Type="raw" />
</Property>

有人可以告诉我如何使用此属性将我的产品组件安装到此目录中吗?

我尝试过这种方法但得到的错误是[]对DestinationDirectory属性无效。

<DirectoryRef Id="MyInstallFolder">
  <Component Id="MySharedDll.dll" Guid="some-guid">
    <File Id='MyFile.dll' Name='MyFile.dll' DiskId='1' Source='MySourceDir\MyFile.dll'>
      <CopyFile Id='x_MyFile.dll' DestinationDirectory='[REGISTRYSEARCHPATHFOUND]'/>
    </File>
  </Component>
</Directory>

1 个答案:

答案 0 :(得分:1)

一些事情。

首先:REGISTRYSEARCHPATHFOUND!= CUSTOMPATH。

第二:CopyFile @ DestinationDirectory(根据doco)仅适用于构建时目录表中存在的键。在AppSearch之后,您的财产才会存在。因此,您应该使用DestinationProperty属性。你也会抛弃[],因为属性已经预期属性名称不是格式化的字符串。