在阅读了使用 WiX 时“每个组件一个文件”方法的答案后,我很想知道在其他元素(包括、等)上使用KeyPath
属性时的最佳实践是什么。Component
Directory
Registry
我对任何一般性建议都感兴趣,但这里有几个具体问题:
- 如果我有一个安装程序需要创建的空目录,我应该设置
KeyPath="yes"
它Directory
还是它的父目录Component
?如果不为空怎么办? - 如果文件
KeyPath="yes"
在每个组件的文件场景中,是否有必要或良好的做法将其设置在其父组件上? - 我在某处读到,而不是
KeyPath
在文件上设置,应该为每个文件使用注册表项并KeyPath="yes"
在注册表元素上设置......这真的是真的/有必要吗?
谢谢!
编辑#1 - 澄清重新:Directory
我知道 Directory 没有 KeyPath,但在我的问题中没有明确/详细。主要是,当必须创建一个空目录时,我对在组件上使用 KeyPath 感到好奇。我看到 KeyPath="yes" 在这种情况下被设置在父组件上。但这足以让安装程序检测/修复丢失的空文件夹吗?还是应该与注册表项一起使用?示例片段:
<Directory Id="LOGS" Name="Logs">
<Component Id="LogsDir" Guid="*" KeyPath="yes">
<CreateFolder Directory="LOGS" />
</Component>
</Directory>