更低版本号的WIX force安装组件
问题描述:
我正在使用AjaxControlToolkit,他们决定更改它们的版本编号方案。的变化记录在这里:http://stephenwalther.com/archive/2013/01/24/new-january-2013-release-of-the-ajax-control-toolkit.aspx更低版本号的WIX force安装组件
Basicaly,新版本有一个较低的文件版本(4.1.7.123比4.1.60501.0更新,但7小于60501.) 显然,这导致我的MSI问题作为它现在看到的组件与更高的版本号已经在机器上,因此这OUPUTS:
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会工作,伙计们。你用完了第三个数字,没问题,你需要增加第二个数字。
答
最简单的事情就是安装到新的位置。这将完全避免检查。黑客要做的是伪造MSI中的File.Version
列,但这只会让你度过这一次,最终你需要到一个新的位置来解决问题。
你也可以将REINSTALLMODE
设置为包含“a”,但最近只会给你造成各种各样的悲伤,所以我不能真正推荐这种选择。
注意:AjaxControlToolkit组员给你一个非常头痛的问题。如果他们重命名他们的.dll,那将是最有帮助的。看起来他们至少可以做,因为他们刚刚打破了他们的世界如此糟糕。
感谢您的答复M. Mensching。 更改位置有点难,因为它被部署到ASP.NET网页的“bin”目录中,而升级是目前我的客户最常见的情况。 谢天谢地,这个项目是开源的,所以现在我只是将它的dll重建为myOldVersion + 1,这样我就可以让我的安装程序没有肮脏的黑客入侵。我在他们的Codeplex上填充了一个问题,希望他们修复它。 – 2013-03-22 15:23:08
我有过这个问题的客户。我的建议是执行主要升级并安装到不同的目录。它获得了一些真正的回扣,因为他们的[产品文件]公司\产品基于品牌很牢固,但最终(希望)他们相信我,问题消失。 – 2013-03-22 15:23:09