我正在创建一个补丁,它将更新我在WiX中内置的MSI。我有一个只有sqlupdatescript
的组件来处理我的所有数据库更改。
当我需要更新我的数据库时,我在该组件中添加了另一个sqlscript
。问题是,如果我创建的补丁只在该组件中添加了sqlscript
,则补丁将不会执行任何操作。如果我在文件中进行更改(在同一个功能中),sqlscript
也会运行。
这是WiX中的预期行为吗?
答案 0 :(得分:0)
Windows Installer通过标记为KeyPath
的资源中的更改来检测更改。例如,它可以是文件或注册表项。我想你的组件包含一个文件,它自动使它成为一个关键路径。因此,当您仅更改脚本时,文件不会更改,并且Windows Installer不知道某些内容已更改。否则,它会正确检测到更改并应用修补程序。