Visual studio 2013 同时安装两个Visual Studio 2013可再发行软件包(x86和x64)

Visual studio 2013 同时安装两个Visual Studio 2013可再发行软件包(x86和x64),visual-studio-2013,redistributable,Visual Studio 2013,Redistributable,我们希望开始构建64位内部使用的软件,今天早上发现安装x64 VS 2013可再发行版本会卸载或使x86 DLL无法访问。我们有很多软件,不想为了硬切换而一下子重建所有东西。有没有一种合理的方法来安装这两个版本的可再发行软件包,使它们共存,这样就可以进行迁移,而不是将所有内容从一个版本硬切到另一个版本?安装了Visual Studio 2013的开发计算机没有问题,因为它提供了两组DLL,并使它们可以同时访问。结果表明,问题似乎是x64可再发行版本对注册表项的破坏。可再发行文件的注册表项可在此处

我们希望开始构建64位内部使用的软件,今天早上发现安装x64 VS 2013可再发行版本会卸载或使x86 DLL无法访问。我们有很多软件,不想为了硬切换而一下子重建所有东西。有没有一种合理的方法来安装这两个版本的可再发行软件包,使它们共存,这样就可以进行迁移,而不是将所有内容从一个版本硬切到另一个版本?安装了Visual Studio 2013的开发计算机没有问题,因为它提供了两组DLL,并使它们可以同时访问。

结果表明,问题似乎是x64可再发行版本对注册表项的破坏。可再发行文件的注册表项可在此处找到:

HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\VC\Runtimes

安装x86版本后,它会将自己的密钥添加到任何存在的密钥中。安装x64版本时,它会删除其他密钥(在本例中为已安装的x86密钥),然后添加自己的密钥。DLL就在那里,只是没有被正确引用,所以它们可以被使用

这里的快速解决方案是先安装x64 redist,然后安装x86版本,然后这两个版本都可以正常使用


为什么X64的BLUBER而不是X86是我所不能理解的。

< P>在基于x86的应用程序安装VC++ 2013更新之后,缺少了X64 Visual C++ 2013运行时库。 例如,安装“VisualC++ +可重新分发2013 x86 V1.0.30501”删除非目标体系结构的二进制文件,即“Visual C++ +可重新分发2013 V2.0.21005”x86和x64!p> VCRedist的12.0.30501版本可从以下网站下载:

解决方案-安装 此修复程序确保在安装更新后添加或删除程序时VisualC++重新分发的版本是可见的。
从属关系-Microsoft支持工程师首先安装x64可再发行版,然后安装x86,它解决了问题。

由于CPU体系结构和操作系统支持之间的差异,我认为这是不可能做到的。您是否考虑过一种CPU体系结构(x86或x64)的虚拟机?实际上,您可以,在本例中,我们真正讨论的是应用程序需要访问的少数DLL。事实证明这是一个令人震惊的问题,我发布了自己的答案,解释了细节。