Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WIX强制安装版本号较低的组件_Wix_Windows Installer_Ajaxcontroltoolkit_Major Upgrade - Fatal编程技术网

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

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

我正在使用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-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]公司\产品在他们的头脑中非常固定,基于品牌,但最终(希望)他们相信我,问题就消失了。