2015-04-24 2 views
1

Мы стремимся начать сборку встроенного программного обеспечения в 64-разрядной версии и обнаружили, что установка x64 VS 2013, распространяемая или uninstalls, или делает недоступным x86 DLLs. У нас много программного обеспечения и мы не хотим перестраивать все за один раз для жесткого перехода. Есть ли разумный способ установить обе версии распространяемых пакетов, чтобы они сосуществовали, чтобы можно было выполнить миграцию вместо жесткого перебора из одной сборки в другую для всего? У машин разработки с установленной Visual Studio 2013 нет проблем, так как он предоставляет оба набора DLL и делает их доступными одновременно.Установка одновременно распространяемых пакетов Visual Studio 2013 (x86 и x64)

+0

Я не думаю, что это может быть сделано из-за разницы между архитектурами процессора и поддержкой ОС. Вы думаете о виртуальной машине для одной из архитектур процессора (x86 или x64)? – DeJaVo

+0

Вы на самом деле можете, в данном случае все, о чем мы действительно говорим, - это несколько библиотек DLL, которые должны быть доступны приложению. Оказывается, проблема с клонированием реестра, я опубликовал свой собственный ответ, объясняющий детали. –

ответ

1

Оказывается, проблема заключается в том, что проблема x64 распространяется на запись реестра. Записи реестра для Redistributables можно найти здесь:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ VisualStudio \ 12.0 \ VC \ Runtimes

При установке x86, он добавляет свой собственный ключ к тому, что существует. Когда версия x64 установлена, она удаляет другие ключи (в данном случае уже установленный ключ x86), а затем добавляет их собственные. Там есть dll, просто не указаны ссылки, поэтому их можно использовать.

Быстрое решение заключается в том, чтобы сначала установить переделку x64, ТОГДА версию x86, а затем обе будут доступны без проблем.

Почему x64 clobbers, но x86 не находится за пределами меня.

2

После установки обновления VC++ 2013 для приложения на базе x86 библиотеки x64 Visual C++ 2013 отсутствуют. Например, установка «Visual C++ Redistributable 2013 x86 v12.0.30501» удаляет двоичные файлы для нецелевых архитектур, например, «Visual C++ Redistributable 2013 v12.0.21005» x86 и x64!

Версия VCRedist 12.0.30501 можно загрузить с https://www.microsoft.com/en-us/download/details.aspx?id=40784

Разрешение - установить https://support.microsoft.com/en-us/kb/3138367 Это исправление гарантирует, что обе версии Visual C++ распространяемые становятся видимыми при добавлении или удалении программ после установки Обновить.

Принадлежность - Microsoft Support инженер

-1

Сначала установите x64 распространяемый, а затем x86, она исправляет эту проблему.

Смежные вопросы