2

我正在使用 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

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

PS 个人咆哮:AjaxControlToolkit 家伙通过说“是的,我意识到 7.0123 小于 60,919,但我们的数字用完了。”来证明这个数字的合理性。伙计们,4.2.7.123 会起作用的。你用完了第三个数字,很好,你需要增加第二个。

4

1 回答 1

1

最简单的方法是安装到新位置。这将完全避免检查。一个被黑的事情是伪造File.VersionMSI中的列,但这只会让你通过一次,最终你需要去一个新的位置来解决这个问题。

您也可以将其设置REINSTALLMODE为包含“a”,但这只会为您带来各种悲伤,所以我不能真正推荐它作为一个选项。

注意:AjaxControlToolkit 的家伙确实让您非常头疼。如果他们重命名了他们的 .dll,那将是最有帮助的。似乎他们至少可以做,因为他们刚刚如此糟糕地破坏了他们的世界。

于 2013-03-22T15:15:03.687 回答