WIX强制安装版本号较低的组件
我正在使用AjaxControlToolkit,他们决定更改版本编号方案。此处记录了变更: 基本上,较新版本的文件版本较低(4.1.7.123比4.1.60501.0新,但7比60501小) 显然,这会导致我的MSI出现问题,因为它现在看到机器上已经有一个版本号更高的组件,因此会输出以下内容:WIX强制安装版本号较低的组件,wix,windows-installer,ajaxcontroltoolkit,major-upgrade,Wix,Windows Installer,Ajaxcontroltoolkit,Major Upgrade,我正在使用AjaxControlToolkit,他们决定更改版本编号方案。此处记录了变更: 基本上,较新版本的文件版本较低(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-CE20A7
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比60919小,但我们没有数字了”来证明这个数字的合理性。4.2.7.123会有用的,伙计们。你用完了第三个数字,好吧,你需要增加第二个 最简单的方法是安装到新位置。这将完全避免检查。黑客要做的一件事是在MSI中伪造
File.Version
列,但这只会让你经历一次,最终你需要到一个新的位置来解决这个问题
您也可以将重新安装模式设置为包含“a”,但这会给您带来各种各样的痛苦,因此我不建议您选择这样做
注意:AjaxControlToolkit的家伙确实让你头疼不已。如果他们重命名了他们的.dll,那将是最有用的。这似乎是他们所能做的最起码的事了,因为他们把自己的世界破坏得如此之严重。谢谢你的回答,曼辛先生。更改位置有点困难,因为它被部署到ASP.NET网页的“bin”目录中,升级是我的客户端目前最常见的情况。谢天谢地,这个项目是开源的,所以现在,我只需要将他们的dll重建为myOldVersion+1,这样我就可以让我的安装程序继续运行,而不会受到恶意攻击。我在他们的Codeplex上填写了一个问题,希望他们能解决。我有客户遇到过这个问题。我的建议是执行主要升级并安装到其他目录。它得到了一些真正的回扣,因为他们的[ProgramFiles]公司\产品在他们的头脑中非常固定,基于品牌,但最终(希望)他们相信我,问题就消失了。