Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation 什么是wix';密钥路径';属性_Installation_Wix_Windows Installer - Fatal编程技术网

Installation 什么是wix';密钥路径';属性

Installation 什么是wix';密钥路径';属性,installation,wix,windows-installer,Installation,Wix,Windows Installer,Wix“键路径”属性是什么?特别是,它如何适用于以下各项: 作为: 组件的关键路径是 Windows中的单个资源 安装程序使用来确定 部件“存在”在机器上 这意味着,当Windows Installer决定是否安装组件时,它将首先查看keypath资源是否已经存在。如果是,则不会安装组件中的任何资源 密钥路径资源的存在还可以确定在“修复”MSI时组件是否已损坏或丢失 当KEYPATH资源是一个版本化文件时,Windows安装程序将只在找到具有相同或更高版本的文件时才认为它存在。 在您的特定示例

Wix“键路径”属性是什么?特别是,它如何适用于以下各项:


作为:

组件的关键路径是 Windows中的单个资源 安装程序使用来确定 部件“存在”在机器上

这意味着,当Windows Installer决定是否安装组件时,它将首先查看keypath资源是否已经存在。如果是,则不会安装组件中的任何资源

密钥路径资源的存在还可以确定在“修复”MSI时组件是否已损坏或丢失

当KEYPATH资源是一个版本化文件时,Windows安装程序将只在找到具有相同或更高版本的文件时才认为它存在。


在您的特定示例中,您有一个在卸载时删除文件夹的组件。仅当给定的注册表项尚不存在时,才会安装此组件。添加注册表项用作键路径是一个常见的技巧,当您需要一个组件的键路径,该组件安装的资源本身不能用作键路径,例如。

那么,显式地为组件中的唯一文件指定一个键路径=“否”有什么意义属性?@Adkins:这将禁止wix将该文件作为密钥路径的默认行为。因此,不会将该组件的密钥路径写入安装程序数据库。在安装过程中,windows installer将使用组件的目标文件夹作为密钥路径。获取此行为的另一种方法是在组件元素本身上设置“keypath=yes”。无论如何,对我来说这似乎不是一个好主意。天哪,Wix文档是完全无用的。wix文档表示,对于KeyPath属性,如果将其设置为“Yes”,则该文件将被视为组件的密钥路径。太有用了@RobMensching-感谢您为社区做出贡献的精神和意愿。告诉我如何不抱怨不如告诉我(和其他人)如何抱怨。如果两年前我知道在哪里养虫子的话,我早就这么做了。此外,正如你从投票中看到的,显然其他人也有同样的感受。也许是时候发出这样的信息了:“帮助改善WiX!请点击这里来提高相应的bug。”行,@Cheeso!请在此处归档错误:@Cheeso需要理解的关键概念是WiX安装项目构建Windows安装程序包。WiX文档不会(也不应该)复制Windows Installer文档。虽然您经常可以在不了解其支持的Windows Installer表的情况下使用WiX构造,但如果有任何问题,您应该查看MSDN上的文档。对于组件,开始。@TomBlodget:我认为WiX应该复制Windows Installer文档。对于大多数用户来说,WiX/Windows安装程序拆分只会造成混乱,最终用户可以隐藏的内容越多,整个工具就越容易使用。