次要升级要求

时间:2011-10-19 07:35:07

标签: wix upgrade

我想使用次要升级,但我对这种升级的要求有两个问题。

是否有可能:

  1. 从仅在一个现有功能中共享的组件中删除文件(而不是KeyPath)(并且在删除组件后仍然不为空)?
  2. 删除现有组件(我猜它会违反规则)?
  3. 感谢您的帮助!

2 个答案:

答案 0 :(得分:5)

  

从刚刚共享的组件中删除文件(不是KeyPath)   一个现有的功能

您可以从升级后的软件包中删除它,但更新不会在目标计算机上将其删除。仅当组件的密钥路径发生更改时,才会更新组件:http://msdn.microsoft.com/en-us/library/windows/desktop/aa368599(v=vs.85).aspx

要删除它,您可以尝试使用自定义操作,但我不确定它是否可行。更新时删除资源的最佳方法是使用主要升级。

  

删除现有组件(我猜它会违反   规则)?

如果删除组件,则不再是次要升级。这属于主要升级类别。

答案 1 :(得分:2)

这是可能的,但不建议这样做。 Changing the Component Code文件表明添加或删除文件需要更改组件代码。如果不这样做,What happens if the component rules are broken描述了一些可能出错的地方。请注意,次要升级通常对组件规则特别挑剔。

在次要升级中删除组件也是禁忌。而是some people recommend将该组件标记为可传递的,并给它一个错误的条件,以便在次要升级期间将其删除。请注意,组件规则仍适用于仅存在要删除的组件。