Wix 'KeyPath‘属性是什么?具体而言,它如何适用于以下方面:
<Component Id="ProgramMenuDir" Guid="*">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\CompName\AppName"
Type="string" Value="" KeyPath="yes" />
</Component>发布于 2010-01-05 00:29:57
As 罗布·门斯奇解释
组件的KeyPath是用来确定组件是否“存在”于计算机上的单一资源。
这意味着当Windows安装程序决定是否安装组件时,它将首先查看键盘资源是否已经存在。如果是,组件中的任何资源都不会安装。
键盘资源的存在还决定了当您“修复”MSI时某个组件是否已损坏或丢失。
当keypath资源是一个版本文件时,Windows安装程序只有在找到一个版本相同或更高版本的文件时,才会认为它存在。
在您的特定示例中,有一个组件在卸载时移除文件夹。只有当给定的注册表项尚不存在时,才会安装此组件。添加一个注册表项作为密钥路径是一个常见的技巧,当您需要为一个组件安装不能作为键路径本身使用的资源(如快捷方式 )的密钥时,这是一个常见的技巧。
https://stackoverflow.com/questions/2003043
复制相似问题