修补时,Wix组件不会更新

时间:2014-10-28 10:44:47

标签: wix windows-installer patch

我正在创建一个补丁,它将更新我在WiX中内置的MSI。我有一个只有sqlupdatescript的组件来处理我的所有数据库更改。

当我需要更新我的数据库时,我在该组件中添加了另一个sqlscript。问题是,如果我创建的补丁只在该组件中添加了sqlscript,则补丁将不会执行任何操作。如果我在文件中进行更改(在同一个功能中),sqlscript也会运行。

这是WiX中的预期行为吗?

1 个答案:

答案 0 :(得分:0)

Windows Installer通过标记为KeyPath的资源中的更改来检测更改。例如,它可以是文件或注册表项。我想你的组件包含一个文件,它自动使它成为一个关键路径。因此,当您仅更改脚本时,文件不会更改,并且Windows Installer不知道某些内容已更改。否则,它会正确检测到更改并应用修补程序。