我正在尝试将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>
答案 0 :(得分:1)
一些事情。
首先:REGISTRYSEARCHPATHFOUND!= CUSTOMPATH。
第二:CopyFile @ DestinationDirectory(根据doco)仅适用于构建时目录表中存在的键。在AppSearch之后,您的财产才会存在。因此,您应该使用DestinationProperty属性。你也会抛弃[],因为属性已经预期属性名称不是格式化的字符串。