Помощь в установке SQL Server 2017 - сбой установки VS Shell с кодом завершения 1638

158

Любые предложения о том, как бороться с этой ошибкой:

TITLE: Microsoft SQL Server 2017 Setup
------------------------------

The following error has occurred:

VS Shell installation has failed with exit code 1638.

For help, click: https://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=0x5B39C8B9%25401434%25403

------------------------------
BUTTONS:

OK
------------------------------

Это новый ноутбук работает

  • SQL Server 2016 экспресс
  • Visual Studio 2017
  • SSMS 2017

Я попытался удалить все, что связано с SQL Server или Visual Studio.

Журнал: [3500: 3970] [2017-11-03T16: 25: 20] e000: Ошибка 0x80070666: невозможно установить продукт, если установлена ​​более новая версия.

Detailed results:
  Feature:                       Full-Text and Semantic Extractions for Search
  Status:                        Failed
  Reason for failure:            An error occurred for a dependency of the feature causing the setup process for the feature to fail.
  Next Step:                     Use the following information to resolve the error, and then try the setup process again.
  Component name:                Microsoft Visual C++ 2015 Redistributable
  Component error code:          1638
  Component log file:            C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\20171103_162358\VCRuntime140_x64_Cpu64_1.log
  Error description:             VS Shell installation has failed with exit code 1638.
  Error help link:               https://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=VCRuntime140_x64%40Install%400x1638

  Feature:                       Database Engine Services
  Status:                        Failed
  Reason for failure:            An error occurred for a dependency of the feature causing the setup process for the feature to fail.
  Next Step:                     Use the following information to resolve the error, and then try the setup process again.
  Component name:                Microsoft Visual C++ 2015 Redistributable
  Component error code:          1638
  Component log file:            C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\20171103_162358\VCRuntime140_x64_Cpu64_1.log
  Error description:             VS Shell installation has failed with exit code 1638.
  Error help link:               https://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=VCRuntime140_x64%40Install%400x1638
Джонатан Аллен
источник

Ответы:

315

Я столкнулся с этой проблемой также и в SQL Server 2017 Developer, и, похоже, это просто плохое планирование со стороны людей из установочного пакета SQL Server. Проблема заключается в том, что Visual Studio 2017 устанавливает распространяемый файл Microsoft Visual C ++ 2017 (x86) и (x64), а установка SQL Server пытается установить распространяемые файлы Microsoft Visual C ++ 2015, чего не может быть, поскольку установка SQL Server не позволяет установить более старую версию с установленной более новой версией.

В этой статье службы поддержки Microsoft представлены объяснения проблемы и рекомендуемые обходные пути.

Решение 1. Сначала установите SQL Server перед установкой Visual Studio 2017.

Решение 2 (что я сделал):

  1. Удалите распространяемый пакет Microsoft Visual C ++ 2017 (x86) и (x64),
  2. установить SQL Server,
  3. затем переустановите распространяемый Microsoft Visual C ++ 2017 (x86) и (x64).

Их немного сложно найти, поэтому вот прямые ссылки:

X64: https://go.microsoft.com/fwlink/?LinkId=746572

x86: https://go.microsoft.com/fwlink/?LinkId=746571

Примечание. Если у вас вообще не установлен распространяемый Microsoft Visual C ++ 2017, просто установите его по одной из приведенных выше ссылок и повторите установку SQL Server. Это должно работать сейчас.


Возможно, вам придется повторить эти шаги при установке дополнительных именованных экземпляров SQL Server 2017.

MapLion
источник
4
Мне пришлось удалить Redist 2017 года, поэтому я смущен вашим заключительным комментарием, просящим нас установить его? Это вызвало бы именно проблему, решаемую здесь. Загрузите его обязательно, но не устанавливайте до тех пор, пока не будет установлена ​​Sql Server Express 2017, иначе он никогда не будет успешным.
Крис Москини
1
В моем случае другое установленное программное обеспечение вмешалось в установку во время выполнения 2015 года. Суть в том, что мне нужно было установить 64-битную версию Microsoft Visual C ++ 2015 распространяемые до установки SQL Server. Делая это вручную, я получил лучшую диагностику, чем при установке SQL Server. После установки 64-разрядных распространяемых пакетов 2015 года установка SQL Server была завершена. Используйте «Установка и удаление программ» в Windows, чтобы увидеть, какие версии установлены.
nachbar
Я обнаружил, что установки указанных библиотек и повторного запуска установки SQL Server было достаточно.
Ройма
Та же проблема происходит с SQL Server 2019 CTP 2 (и решение то же самое).
Разван Соколь
В настоящее время на веб-узле support.microsoft.com/en-us/help/2977003/…5 имеется «распространяемый файл Microsoft Visual C ++ 2015-2019», который можно установить поверх распространяемого пакета 2017 года и заменить его, а также обеспечить 2015 и 2019 годы Распространяемые. Я сделал это после получения ошибки выхода кода 1638 и смог успешно установить SQL Server 2017. Не нужно удалять распространяемые файлы. (Невозможно добавить в качестве альтернативного ответа из-за защищенного статуса.)
Отто G
9

У меня была та же проблема, но я обновлялся с SQL Server 2016.

Я удалил Microsoft Visual C ++ 2015 Redistributable, как x86, так и x64, затем он успешно обновился.

светлячки
источник
Это решение также сработало для меня, когда я пытался добавить функции в существующую установку SQL 2017.
Рокки
2

Я получил ошибку при попытке восстановить мою установку SQL Server 2017. Я нашел эту ссылку VC ++ 2015 Распространяемая установка возвращает ошибку 1638, когда более новая версия уже установлена , которая говорит, что проблема исправлена ​​в накопительном обновлении 13 для SQL Server 2017 .

Это сработало; Я применил обновление, затем запустил ремонт, и он завершился без ошибок.

WileCau
источник
0

В списке приложений Windows попробуйте запустить «восстановление» для MS Visual C ++. Распространяемый

marcin2x4
источник