WIX强制安装具有较低版本号的组件

时间:2013-03-22 14:43:46

标签: wix windows-installer ajaxcontroltoolkit major-upgrade

我正在使用AjaxControlToolkit,他们决定改变他们的版本编号方案。此处记录了更改:http://stephenwalther.com/archive/2013/01/24/new-january-2013-release-of-the-ajax-control-toolkit.aspx

基本上,较新的版本具有较低的文件版本(4.1.7.123比4.1.60501.0更新,但7小于60501.) 显然,这会导致我的MSI出现问题,因为它现在看到机器上已有一个版本号较高的组件,因此输出了这个:

MSI (s) (7C:10) [10:04:14:996]: Disallowing installation of component: {22C7D2FC-179E-515D-B650-CE20A7B3F9E0} since the same component with higher versioned keyfile exists

我如何强制安装这个较新但较低版本号的组件?

P.S。个人咆哮:AjaxControlToolkit家伙通过说“并且是的,我意识到7.0123小于60,919,但我们用尽了数字来证明这个数字是正确的。”伙计们,4.2.7.123会有用。你用完了第3个数字,很好,你需要增加第2个数字。

1 个答案:

答案 0 :(得分:1)

最简单的方法是安装到新位置。这将完全避免检查。一个被黑的行为是伪造MSI中的File.Version列,但这只会让你完成一次,最终你需要到达一个新位置来解决问题。

您也可以将REINSTALLMODE设置为包含“a”,但最近会为您造成各种各样的悲痛,所以我不能真的推荐这个作为选项。

注意:AjaxControlToolkit的确给你带来了巨大的麻烦。如果他们重命名他们的.dll,那将是最有帮助的。似乎他们至少可以做到这一点,因为他们刚刚破坏了他们的世界。