我们的应用程序有一些用户可修改的文件(xml文件)。在升级过程中,我们不希望替换文件。我们使用 XSLT和热 命令将这些文件/组件标记为 NeverOverwrite =是。
现在我们还需要添加一些新数据,而不仅仅是不替换这些文件。实现这一目标的最佳方法是什么?
感谢。
答案 0 :(得分:2)
好吧,如果msi软件包安装的文件是由最终用户自定义的,则不会替换它们。这是一个默认的Windows安装程序行为,除非通过使用REINSTALLMODE属性来覆盖此行为。此外,在升级过程中不会清除用户自定义文件的情况还取决于标准操作:RemoveExistingProducts的排序位置。
看看:http://blogs.msdn.com/b/astebner/archive/2005/08/30/458295.aspx
更好地了解非版本化文件的Windows安装程序替换逻辑。
可以在以下位置找到RemoveExistingProducts的各个位置及其对安装的影响:
http://blogs.msdn.com/b/heaths/archive/2010/04/09/major-upgrades-with-shared-components.aspx
要回答您的问题,您是否在Wix工具集中探讨了以下内容:
http://wixtoolset.org/documentation/manual/v3/xsd/util/xmlfile.html
http://wixtoolset.org/documentation/manual/v3/xsd/util/xmlconfig.html
这可能只是您正在寻找的那个。如果这还不够,或许自定义行动就是前进的方向。
希望这有帮助。